1. 第一趟: 依次比较相邻的两个元素,让较大的下沉,第一趟排序的结果就是数组中最大的数在最后一个;

2. 第二趟: 依次比较相邻的两个元素,让较大的下沉,第二趟排序的结果就是数组中次大的数在倒数第二个;

3. ....

4. 共比较(数组的长度-1)趟

5. Demo

   a[] ={0,7,5,6,8,3};

   第一趟:075683→075683→075683→057683→057683→056783→056783→056783→056738.(第一趟结束,让8排到最后,依次比较相邻的元素(加黑))

   第二趟:056738→056738→056738→056738→056738→056738→056738→056378.(第二趟结束)

   第三趟:056378→056378→056378→056378→056378→053678.(第三趟结束)

   第四趟:053678→053678→053678→035678.(第四趟结束)

   第五趟:035678→035678.(比较结束)

   Demo_1

  

// 核心代码(正宗的冒泡排序)
public class Test{   public static void main(String[] args){ int a[] = {0,7,5,6,8,3}; for(int i=0;i<a.length-1;i++){   for(int j=0;j<a.length-1-i;j++){ if(a[j]>a[j+1]){   int temp = a[j];   a[j] = a[j+1];   a[j+1] = temp; }   } }      for(int i=0;i<a.length;i++){   System.out.print(a[i]+" ");      }   } }

 运行结果:0 3 5 6 7 8

posted on 2017-04-21 22:41  牧羊人的世界  阅读(169)  评论(0编辑  收藏  举报