21xrx.com
2025-03-29 14:28:26 Saturday
文章检索 我的文章 写文章
C++数组排序代码
2023-06-24 13:00:21 深夜i     10     0
C++ 数组 排序 代码

C++是一种广泛使用的编程语言,它可以方便地操作数组并进行排序。下面是一个简单的C++数组排序代码示例。

#include <iostream>
using namespace std;
void quickSort(int arr[], int left, int right) {
  int i = left, j = right;
  int pivot = arr[(left + right) / 2];
  while (i <= j) {
    while (arr[i] < pivot) {
      i++;
    }
    while (arr[j] > pivot)
      j--;
    
    if (i <= j) {
      swap(arr[i], arr[j]);
      i++;
      j--;
    }
  }
  if (left < j) {
    quickSort(arr, left, j);
  }
  if (i < right) {
    quickSort(arr, i, right);
  }
}
int main() {
  int arr[] = 4;
  int n = sizeof(arr) / sizeof(arr[0]);
  cout << "Before sorting: ";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  quickSort(arr, 0, n - 1);
  cout << "\nAfter sorting: ";
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  return 0;
}

这个代码示例演示了如何使用快速排序算法对整型数组进行排序。代码中定义了一个`quickSort`函数,它接受一个整型数组、数组左边的索引和右边的索引。该函数会先从数组中间取一个元素作为基准值(即`pivot`),然后将整个数组分为两个部分,其中左边的部分都小于基准值,右边的部分都大于基准值。然后,该函数以递归的方式重复上述步骤,直到所有子数组的大小都为1。最后,当所有子数组都被排序并合并后,整个数组也就被排好序了。

在`main`函数中,我们首先打印出未排序的数组,然后调用`quickSort`函数对该数组进行排序,最后再次打印出已排序的数组。

需要注意的是,该代码示例只适用于整型数组。如果要对其他类型的数组进行排序,需要相应地修改排序算法。另外,C++标准库也提供了多种排序算法,可以根据需要选择不同的排序函数来排序数组。

  
  

评论区