什么是冒泡排序( bubble sort)
var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7]
for (var k = 0; k < arr.length; k++) {
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
var temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
}
* k == 0 第 1 次循环 确定了 [8] 的值
* k == 1 第 2 次循环 确定了 [7][8] 的值
* k == 2 第 3 次循环 确定了 [6][7][8] 的值
* k == 3 第 4 次循环 确定了 [5][6][7][8] 的值
* k == 4 第 5 次循环 确定了 [4][5][6][7][8] 的值
* k == 5 第 6 次循环 确定了 [3][4][5][6][7][8]值
* k == 6 第 7 次循环 确定了 [2][3][4][5][6][[8] 的值
* k == 7 第 8 次循环 确定了 [1][2][3][4][5][6][[8] 的值
* k == 8 第 9 次循环 确定了 [0][1][2][3][4][5][[7][8] 的 * 值
for (var k = 0; k < arr.length - 1; k++) {
for (var i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
var temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
}
for (var k = 0; k < arr.length - 1; k++) {
console.log(`这是第 ${k + 1} 轮循环(k == ${k})`)
for (var i = 0; i < arr.length - 1 - k; i++) {
console.log(arr[i], arr[i + 1])
if (arr[i] > arr[i + 1]) {
var temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
}
console.log('冒泡排序结束后的arr: ', arr)