1、快速排序算法的实现。任意输入20个整数,对这20个整数进行快速排序。要求使用末元素作为划分基准。C语言
时间: 2024-06-05 16:06:44 浏览: 141
实现如下:
#include <stdio.h>
void quickSort(int arr[], int left, int right) {
if (left < right) {
int pivot = arr[right]; // 选取末元素作为划分基准
int i = left - 1;
for (int j = left; j < right; j++) {
if (arr[j] < pivot) {
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[i + 1];
arr[i + 1] = arr[right];
arr[right] = temp;
int partition = i + 1;
quickSort(arr, left, partition - 1);
quickSort(arr, partition + 1, right);
}
}
int main() {
int arr[20];
printf("请输入20个整数:\n");
for (int i = 0; i < 20; i++) {
scanf("%d", &arr[i]);
}
quickSort(arr, 0, 19);
printf("快速排序后的结果为:\n");
for (int i = 0; i < 20; i++) {
printf("%d ", arr[i]);
}
return 0;
}
阅读全文