思想(假设升序):每次把最大的移动到最后。n个元素,共需要比较n-1趟,第i趟要比较n-i次
取n=5时的数组冒泡排序如下
int a[5]={3,1,4,5,2};
int i,j,temp;
for(i=1;i<=4;i++) //进行5-1趟比较。
for(j=0;j<5-i;j++) //第i趟比较5-i次。
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
//注意i,j的初始值。从0和1开始略有不同。