c语言编写程序对于给定的含有n个元素的数组a,对其按元素值递增排序
时间: 2024-10-10 21:12:25 浏览: 38
在C语言中,对含有n个元素的整数数组进行递增排序,一种常见的选择是使用快速排序、冒泡排序、插入排序或者选择排序等简单算法。这里以插入排序为例,因为它的思路清晰易于理解:
```c
#include <stdio.h>
void insertion_sort(int a[], int n) {
int i, j, key;
for (i = 1; i < n; i++) {
key = a[i]; // 要插入的元素
j = i - 1; // 插入位置的前一位
/* 将比key大的元素依次向右移动 */
while (j >= 0 && a[j] > key) {
a[j + 1] = a[j];
j = j - 1;
}
a[j + 1] = key; // 将key插入到正确的位置
}
}
// 测试函数
int main() {
int a[] = {5, 2, 9, 1, 5, 6}; // 输入数组
int n = sizeof(a) / sizeof(a[0]); // 数组长度
printf("原始数组:\n");
for (int i = 0; i < n; i++)
printf("%d ", a[i]);
insertion_sort(a, n);
printf("\n升序排列后的数组:\n");
for (int i = 0; i < n; i++)
printf("%d ", a[i]);
return 0;
}
```
运行这个程序后,输入的数组将会按照从小到大的顺序排列。
阅读全文