冒泡排序(Bubble Sort)是一种简单的排序算法。每次比较相邻的两个数,如果他们的位置不符合,就进行交换。

每比较一回,比较的次数就会减一次,因为前面的已经比较好了。

例如:

第一回第一次,比较8和9,因为9大于8,所以交换他们的位置

第一回第二次,比较8和7,因为8大于7,所以他们的位置不变

第一回第三次,比较7和1,因为7大于1,所以他们的位置不变

第一回第四次,比较1和5,因为5大于1,所以交换他们的位置

第一回第五次,比较1和2,因为2大于1,所以交换他们的位置

以下的比较同理

关键代码片段:

 1 public static void main(String[] args) {
 2         
 3         int[] score = {8, 9, 7, 1, 5, 2};
 4         
 5         for (int i = 0; i < score.length - 1; i++){
 6             for (int j = 0;j < score.length - 1 - i; j++){
 7                 if (score[j] < score[j + 1]){
 8                     int tmp = score[j];
 9                     score[j] = score[j + 1];
10                     score[j + 1] = tmp;
11                 }
12             }
13         }
14     }

记忆冒泡排序只需要记住一句口诀:外层循环数组长度-1,内层循环数组长度 -1-i

 

版权声明:本文为jin-xin-原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/jin-xin-/p/8004210.html