用C语言写一个给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。
时间: 2024-03-18 21:39:59 浏览: 15
好的,下面是用C语言实现快速排序的代码:
```c
#include <stdio.h>
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--;
if (i < j) {
arr[i] = arr[j];
i++;
}
while (i < j && arr[i] < pivot) i++;
if (i < j) {
arr[j] = arr[i];
j--;
}
}
arr[i] = pivot;
quicksort(arr, left, i - 1);
quicksort(arr, i + 1, right);
}
int main() {
int n;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
quicksort(arr, 0, n - 1);
printf("排序后的数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
如果输入数组长度为5,数组元素为5 2 4 1 3,则输出结果为:
```
排序后的数组:1 2 3 4 5
```