21xrx.com
2024-09-20 06:43:09 Friday
登录
文章检索 我的文章 写文章
用C++函数实现将N个数按输入时顺序的逆顺序排列
2023-07-12 14:15:06 深夜i     --     --
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函数等库函数进行编程。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复