选择法排序成绩/数字从小到大排序
冒泡排序 https://editor.csdn.net/md/?articleId=115722896
插入一个数据 https://editor.csdn.net/md/?articleId=115726752
#include"stdio.h"
//选择法排序
int main()
{
int s, i, j, tmp;
int a[10] = { 12, 23, 45, 6, 78, 98, 55, 3, 65, 75 };
for (i = 0; i < 9; i++)
{
s = i;//记录当前数的位置,用于内循环第二个if的判断
//很重要的一点,在内循环中,循环结束后s的值又初始化为i的值
//内循环中的s有生命周期
//printf("记录s0=%d\t", s);
for (j = i + 1; j < 10; j++)//j=i+1就是依次往后走,找下一个较大的值
{
//printf("记录s1=%d\t", s);
if (a[s]<a[j])//s的值永远比j小1
//里面s的值不能写成i
s = j;//记录当前最大数的位置
//printf("记录s2=%d\t", s);
}
if (s != i)
{
tmp = a[s];
a[s] = a[i];
a[i] = tmp;
//break;//这里不能认为交换之后就可以跳出循环了
//如果后面有更小的值的话,则排序错误
}
}
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
return 0;
}