Skip to main content

冒泡排序

原理

  1. 和右边的人比较,不断和右边交换,就可以把最大或者最小的冒泡到最右边
  2. 如此重复 len 次,即可完成排序

如下代码,就可以实现第一次冒泡(最小实现)

for (let i = 0; i < len - 1; i++) {
if (arr[i] > arr[i + 1]) {
[arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
}
}

最终实现

  1. 需要重复 len 次排序
  2. 每一次排序都需要冒泡

⭐ :每次冒泡时(第二次循环),都只需要在意还未排序的部分(len - j)

function bubbleSort(arr) {
let len = arr.length;

for (let j = 0; j < len; j++) {
for (let i = 0; i < len - j; i++) {
if (arr[i] > arr[i + 1]) {
[arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
}
}
}
return arr;
}

console.log("bubbleSort(arr)", bubbleSort(arr));