Java排序算法——冒泡排序
冒泡排序(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