2:冒泡排序
2:冒泡排序
冒泡排序思想描述:
1、第一轮:从小到大两两比较0~1 1~2 2~3 3~4 4~5 5~6 .... N-2~N-1,谁大谁往后。第一轮把最大的那个数,排到N-1位置上。
2、第二轮:两两比较0~1 1~2 2~3 3~4 4~5 5~6 .... N-3~N-2,谁大谁往后。第二轮把次大的那个数,排到N-2位置上。
......
3、倒数第二轮:两两比较 0~1 1~2 , 谁大谁往后。第二轮把这轮最大的那个数,排到2位置上。
4、最后一轮:两两比较 0~1 , 谁大谁往后。最后一轮把最大的那个数,排到1位置上,剩下的自然已经有序,放在0位置。
1 public static void bubbleSort(int[] arr) {
2 if (arr == null || arr.length < 2) {
3 return;
4 }
5 // 0 ~ N-1
6 // 0 ~ N-2
7 // 0 ~ N-3
8 for (int e = arr.length - 1; e > 0; e--) { // 0 ~ e
9 for (int i = 0; i < e; i++) {
10 if (arr[i] > arr[i + 1]) {
11 swap(arr, i, i + 1);
12 }
13 }
14 }
15 }

浙公网安备 33010602011771号