21xrx.com
2025-04-02 10:43:45 Wednesday
文章检索 我的文章 写文章
用C++函数实现将N个数按输入时顺序的逆顺序排列
2023-07-12 14:15:06 深夜i     20     0
C++函数 逆顺序排列 N个数 输入顺序 数组

在C++编程中,有时需要将一组数字按照输入时的顺序逆序排列。这个操作可以通过函数来实现,下面是一个简单的示例程序。

首先需要一个函数reverse_order,它接受一个整数数组和数组长度作为参数,然后将数组按照输入时顺序进行逆序排列。

示例代码如下:

void reverse_order(int* arr, int n) {
  int left = 0, right = n - 1;
  while (left < right) {
    int temp = arr[left];
    arr[left] = arr[right];
    arr[right] = temp;
    left++;
    right--;
  }
}

这个函数使用了一个双指针的方法,从数组两端开始遍历,每次交换左右两个位置的元素,直到左指针大于等于右指针。

下面是一个示例程序,演示了如何调用这个函数并输出逆序排列后的结果:

#include <iostream>
using namespace std;
void reverse_order(int* arr, int n);
int main() {
  int n;
  cout << "请输入数字个数:";
  cin >> n;
  int* arr = new int[n];
  cout << "请输入数字,按空格分隔:" << endl;
  for (int i = 0; i < n; ++i) {
    cin >> arr[i];
  }
  reverse_order(arr, n);
  cout << "逆序排列后结果为:" << endl;
  for (int i = 0; i < n; ++i) {
    cout << arr[i] << " ";
  }
  cout << endl;
  delete[] arr;
  return 0;
}
void reverse_order(int* arr, int n) {
  int left = 0, right = n - 1;
  while (left < right) {
    int temp = arr[left];
    arr[left] = arr[right];
    arr[right] = temp;
    left++;
    right--;
  }
}

在这个示例程序中,用户需要输入数字的个数和具体的数字,程序调用reverse_order函数后输出逆序排列后的结果。

使用函数可以使代码更清晰、更易于维护,而逆序排列这个操作也是很常见的需求,可以应用在很多场景中。如果需要进行更复杂的排序操作,可以使用STL中的sort函数等库函数进行编程。

  
  

评论区