冒泡嘛,就是大的气泡在上面,就如
第一趟:从后面依次往前 173和178比较,在依次173与175,后面都是如此;
第二趟:最小已经在第一排,第一排固定不动。
第三趟:最小已经在第一排、第二排,第一排、第二排固定不动。
第四趟:最小已经在第一排、第二排、第三排,第一排、第二排、第三排固定不动。
这样,便实现排序,每次走完一趟,便固定一排,下次比较就会少一次。
用C语言代码如下:
char arr[]={179,163,175,178,173};
char len=arr.length();
char i=len-1;
char j=0;
for(i=1;i<=4;i++)
{
for(j=4;j>=i;j--)
{
if(arr[j]<=arr[j-1])
{
char temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}
}
}
外部 i 仅仅控制循环次数,而每次都是2个相邻的数比较,故是 arr[j] 和 arr[j-1].