外层循环遍历是遍历 数组长度-1 次,得到 数组长度 -1 个有序元素,有序元素是逆序排好的数字,后 数组长度 - 1 个元素有序,那么整个数组元素就排好序。(对应着五大方块)
内层循环从头开始两两比较元素大小,每次两两比较好后给它们交换位置排好序。(对应每个方块要比较的次数)
public static void bubbleSort(int[] list) {
boolean needNextPass = true;
for (int k = 1; k < list.length && needNextPass; k++) {
// Array may be sorted and next pass not needed
needNextPass = false;
for (int i = 0; i < list.length - k; i++) {
if (list[i] > list[i + 1]) {
// Swap list[i] with list[i + 1]
int temp = list[i];
list[i] = list[i + 1];
list[i + 1] = temp;
needNextPass = true; // Next pass still needed
}
}
}
}
1&1=1;真&&真=真。
1&0=0;真&&假=假。
0&1=0;假&&真=假。
0&0=0;假&&假=假。