选择排序
查找数组范围内最小的值跟第一个值交换 k记录最小值下标
int main(int argc,const char *argv[])
{
int a[20];
int cnt=0;
int k;
for (int i=0; i<20; i++) {
scanf("%d", &a[i]);
cnt++;
if (getchar()=='\n') {
break;
}
}
for (int i=0; i<cnt-1; i++) {
int k=i;//K 记录最小值下标
for (int j=i+1; j<cnt; j++) {//求出最小值的下标
if (a[k]>a[j]) {
k=j;
}
}
if (k!=i) {
int temp =a[i];
a[i]=a[k];
a[k]=temp;
}
}
for (int i=0; i<cnt; i++) {
printf("%d ", a[i]);
}
putchar('\n');
return 0;
}
本文介绍了一个简单的选择排序算法实现过程,通过不断寻找未排序部分的最小元素并将其与当前元素交换来完成排序。代码示例展示了如何使用 C 语言进行数组输入、排序及输出。
1万+

被折叠的 条评论
为什么被折叠?



