冒泡法中,内层循环思路比较清晰,从0开始依次到n-1,n-2,n-3……
外层循环一般两种写法:
方法一,外层循环 i 从1开始,到小于n(数据个数),这样变量 i 是作为被减数存在。
for(i=1; i<n; i++)
{
for(j=0; j<n-i; j++)
{
if(a[j] > a[j+1])
{temp = a[j]; a[j] = a[j+1];a[j+1] = temp;} /*交换*/
}
}
for(i=n-1; i>0; i--) /*i从n-1开始,表示内层循环到达的最大值*/
{
for(j=0; j<i; j++)
{
if(a[j] > a[j+1])
{temp = a[j]; a[j] = a[j+1];a[j+1] = temp;} /*交换*/
}
}