//冒泡排序
int i, j, t;
int a[9] = { 3, 44, 38, 5, 47, 15, 36, 26, 27 };
for (j = 1; j <=8; j++) //总共9位数字减上一次,排8趟,
{
for (i = 0; i <=8 - j; i++) //比较相邻的两个数字,第一趟j是1,8-j等于7在里面待着8趟(0,1,2,3,4,5,6,7),
{ //等i从0加到8,结束。第二趟j是2,8-j等于6在里面待着7趟(0,1,2,3,4,5,6,),
//等i从0加到7,结束。
if (a[i]>a[i+1]) //判断a数组i次和i的后面一位数字,如果前面的大于后面的就执行
{
t = a[i]; //t里存入a数组i次,(空桶存入i)
a[i] = a[i + 1]; //a数组i次存入,i后面的一位数,(i往后存一位)
a[i + 1] = t; //i后面的一位数存入t, (后一位存入空桶)
}
}
}
for ( i = 0; i < 9; i++) //输出9次
{
printf("%d ", a[i]);
}
C语言冒泡排序
于 2022-03-24 23:55:23 首次发布