理解冒泡排序

//之前写过一个排序的方法

//两种方法的大体思路差不多,这个方法是两两比较,一个一个的冒出,冒泡....

int[] a=new int[5]{9,5,6,2,7};//定义一个数组a

for(i=1,i<=a.length-1,i++)//外层循环比较的行数 5个元素 比较4行即可 也就是数组的长度-1

{

     for(j=1,j<=a.length-i,j++)//里层循环比较的次数,次数是数组的长度减去行数

      {

          if(a[j-1]<a[j])//因为i,j都从1开始的 所以要减去1 不然数组的第一个数永远没法比到 因为下标是0

       int b;           //数组中也就是 9,5比较  9>5  不满足条件 不换

       b=a[j];         //然后是第二轮比较  5与6  5<6 互换位置      数组此时顺序是 9,6,5,2,7

       a[j]=a[j-1];   //第三轮比较      5与2     5>2 不满足条件 不换

       a[j-1]=b;       //第四轮比较      2与7     2<7 互换位置       数组此时顺序是 9,6,5,7,2

      }                   //这样第一个最大的数已经冒出去了 以此类推

}

原文地址:https://www.cnblogs.com/happinesshappy/p/4423374.html