C语言数组从大到小排序
时间: 2023-09-29 09:07:32 浏览: 327
好的,我可以回答这个问题。C语言数组的从大到小排序可以使用快速排序、冒泡排序、选择排序等多种算法实现。其中快速排序是一种高效的算法,具体实现可以参考以下代码:
```
void quick_sort(int a[], int left, int right)
{
if(left >= right)
return;
int i = left, j = right, pivot = a[left];
while(i < j)
{
while(i < j && a[j] <= pivot)
j--;
a[i] = a[j];
while(i < j && a[i] >= pivot)
i++;
a[j] = a[i];
}
a[i] = pivot;
quick_sort(a, left, i - 1);
quick_sort(a, i + 1, right);
}
```
调用该函数可以对数组进行从大到小排序:
```
int main()
{
int a[] = {5, 7, 3, 8, 4, 2, 9, 1, 6};
int n = sizeof(a) / sizeof(int);
quick_sort(a, 0, n - 1);
for(int i = 0; i < n; i++)
{
printf("%d ", a[i]);
}
return 0;
}
```
输出结果为:9 8 7 6 5 4 3 2 1
阅读全文