int a[5]={1,4,3,2,5},i,j,m;
for(i=1;i<5;i++)
{
for(j=1;j<=5-i;j++)
{
if(a[j]<a[j-1])
{
m=a[j];
a[j]=a[j-1];
a[j-1]=m;
}
}
for(i=1;i<5;i++)
{
for(j=1;j<=5-i;j++)
{
if(a[j]<a[j-1])
{
m=a[j];
a[j]=a[j-1];
a[j-1]=m;
}
}
}
有n个数据,一共需要比较n-1次,控制外部循环,每次比较次数为n-i,i表示外部循环第i回比较
假设按从小到大排序
第一次比较 n-1个数,把最大的数放置末尾
第二次比较 n-2个数,把第二大的放置末尾
...
...
...