21xrx.com
2024-12-22 22:22:48 Sunday
登录
文章检索 我的文章 写文章
C++数组排序代码
2023-06-24 13:00:21 深夜i     --     --
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++标准库也提供了多种排序算法,可以根据需要选择不同的排序函数来排序数组。

  
  

评论区

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