C++多数组快速排序
时间: 2023-10-24 11:06:32 浏览: 94
C++快速排序
快排序是一种常用的排序算法,它使用了二分法对数组进行操作。快速排序的基本思想是选择一个基准元素,将数组分为左右两部分,左边的元素都小于等于基准元素,右边的元素都大于等于基准元素,然后递归地对左右两部分进行排序,最终完成整个数组的排序。
在C语言中,可以使用以下代码实现多数组快速排序:
```c
#include <stdio.h>
void quickSort(int arr[], int low, int high) {
if (low < high) {
int i = low;
int j = high;
int pivot = arr[low];
while (i < j) {
while (i < j && arr[j] >= pivot) {
j--;
}
if (i < j) {
arr[i++] = arr[j];
}
while (i < j && arr[i] <= pivot) {
i++;
}
if (i < j) {
arr[j--] = arr[i];
}
}
arr[i] = pivot;
quickSort(arr, low, i - 1);
quickSort(arr, i + 1, high);
}
}
int main() {
int arr[] = {5, 2, 9, 3, 7, 6, 8, 1, 4};
int n = sizeof(arr) / sizeof(arr[0]);
quickSort(arr, 0, n - 1);
printf("排序结果:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文