用c语言写出一个程序,对用户输入的若干整数,采用快速排序算法,完成从小到大的排序
时间: 2023-07-15 20:11:17 浏览: 96
以下是用C语言编写的快速排序算法程序,可以对用户输入的若干整数进行从小到大的排序:
```c
#include <stdio.h>
void quick_sort(int arr[], int low, int high);
int main() {
int n;
printf("请输入整数个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
quick_sort(arr, 0, n - 1);
printf("排序后的结果为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void quick_sort(int arr[], int low, int high) {
if (low < high) {
int pivot = arr[low];
int i = low, j = high;
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;
quick_sort(arr, low, i - 1);
quick_sort(arr, i + 1, high);
}
}
```
程序首先会要求用户输入整数个数和整数序列,然后调用快速排序算法对整数序列进行排序,最后输出排序后的结果。其中,快速排序算法使用了递归的思想,每次将数组分成两部分进行排序,直到每个部分只有一个元素。
阅读全文