快排排降序
时间: 2023-09-08 22:11:27 浏览: 38
好的,以下是快速排序算法的降序实现:
```
void quicksort(int arr[], int left, int right) {
if (left >= right) {
return;
}
int pivot = arr[left];
int i = left, j = right;
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, left, i - 1);
quicksort(arr, i + 1, right);
}
void quicksort_desc(int arr[], int left, int right) {
if (left >= right) {
return;
}
int pivot = arr[left];
int i = left, j = right;
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_desc(arr, left, i - 1);
quicksort_desc(arr, i + 1, right);
}
```
在快速排序算法的基础上,我们只需要修改一下判断条件和交换元素的顺序即可。