本关任务:编写快速排序算法,能够对数组进行快速排序。3
时间: 2023-05-21 07:07:26 浏览: 217
快速排序是一种常用的排序算法,其核心思想是分治和递归。算法的基本步骤如下:
1. 选取一个基准元素,将数组分成两个子数组:小于基准元素的子数组和大于基准元素的子数组。
2. 对两个子数组分别递归进行快速排序。
3. 将两个子数组合并成一个有序数组。
下面是快速排序的代码实现(使用 C++ 语言):
void quickSort(int* arr, int left, int right) {
if (left >= right) {
return;
}
int i = left, j = right, pivot = arr[left];
while (i < j) {
while (i < j && arr[j] >= pivot) {
j--;
}
arr[i] = arr[j];
while (i < j && arr[i] <= pivot) {
i++;
}
arr[j] = arr[i];
}
arr[i] = pivot;
quickSort(arr, left, i - 1);
quickSort(arr, i + 1, right);
}
调用快速排序算法可以这样做:
int arr[10] = {5, 1, 9, 3, 7, 4, 8, 6, 2, 0};
quickSort(arr, 0, 9);
排序后数组的元素为:0, 1, 2, 3, 4, 5, 6, 7, 8, 9。
希望我的回答对你有帮助。