用选择排序法对数组a的元素从小到大排序。例如,输入2 5 4 1 6 2 7 3 2 9 4,则应输出1 2 2 2 3 4 5 6 7 9。代码家详细解析
时间: 2023-04-03 22:03:44 浏览: 123
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
好的,我可以回答这个问题。以下是用选择排序法对数组a的元素从小到大排序的代码:
```c
#include <stdio.h>
void selection_sort(int a[], int n) {
int i, j, min_index, temp;
for (i = 0; i < n - 1; i++) {
min_index = i;
for (j = i + 1; j < n; j++) {
if (a[j] < a[min_index]) {
min_index = j;
}
}
temp = a[i];
a[i] = a[min_index];
a[min_index] = temp;
}
}
int main() {
int a[10], i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
selection_sort(a, 10);
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
选择排序法的基本思路是每次从未排序的元素中选择最小的元素,然后将其放到已排序的元素末尾。这样,经过n-1次选择,就可以将n个元素排序完成。在上面的代码中,我们使用了两层循环来实现选择排序。外层循环控制选择的次数,内层循环用于查找未排序元素中的最小值。当内层循环结束后,我们将找到的最小值与未排序元素中的第一个元素交换位置,这样就完成了一次选择。重复这个过程,直到所有元素都被排序完成。
阅读全文