对应位置a[0] a[1] a[2] a[3] a[4] a[5] a[6]
第一次 12 4 45 21 2 9 18
第二次 4 12 45 21 2 9 18
第三次 4 12 45 21 2 9 18
第四次 4 12 21 45 2 9 18
第五次 4 12 21 2 45 9 18
第六次 4 12 21 2 9 45 18
第七次 4 12 21 2 9 18 45
如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。
#include <stdio.h>
void main()
{
int a[10];
inti,j,t;
printf(“input 10 numbers:\n”);
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
printf(“\n”);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if (a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];
a[i+1]=t;
}
printf(″the sorted numbers :\n″);
for(i=0;i<10;i++)
printf(″%d ″,a[i]);
printf(″\n″);
}/*程序结束*/
程序运行结果如下:
input10 numbers:
10 4 8 12 65 -76 100 -45 123↙
thesorted numbers:
-76-45 0 1 4 8 12 65 100 123