将数组的数据由大到小排序,数据由键盘输入,c语言
时间: 2024-03-03 19:52:57 浏览: 58
汇编从键盘输入数据并排序
好的,以下是C语言的代码示例:
```c
#include <stdio.h>
void quick_sort(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;
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
int main() {
int n, i;
printf("请输入数组的长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
quick_sort(arr, 0, n - 1);
printf("从大到小排序后的数组:");
for (i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这里使用的是快速排序算法,时间复杂度为O(nlogn)。希望能帮到你!
阅读全文