用c代码实现一维数组降序排列
时间: 2024-09-09 11:11:11 浏览: 43
使用快速排序法对一维数组进行排序
在C语言中,你可以使用上述提到的插入排序算法来实现一维数组的降序排列。以下是如何使用插入排序示例[^2]:
```c
#include <stdio.h>
#define N 10
int main() {
int a[N] = {3, 1, 5, 7, 2, 4, 9, 6, 10, 8};
int i, j, t;
printf("排序前数组为:\n");
for (i = 0; i < N; i++)
printf("%d ", a[i]);
printf("\n");
// 插入排序,从第二个元素开始(因为第一个元素默认是有序的)
for (i = 1; i < N; i++) {
t = a[i];
for (j = i - 1; j >= 0 && a[j] > t; j--)
a[j + 1] = a[j]; // 交换元素,保证较大的元素位于前面
a[j + 1] = t;
}
printf("排序后数组(降序)为:\n");
for (i = 0; i < N; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
```
这段代码首先打印原始数组,然后执行插入排序过程,每次都比较当前元素与之前已排序部分的最大元素,如果当前元素更大,则将最大元素向右移动一位,直到找到合适的位置插入。最后再次打印排序后的数组,显示其降序排列。
阅读全文