跳到主要内容

冒泡排序

let arr = [3, 4, 1, 2];
function bubbleSort(arr) {
let max = arr.length - 1;
for (let j = 0; j < max; j++) {
// 每次声明一个变量,作为标志位
let done = true;
for (let i = 0; i < max - j; i++) {
if (arr[i] > arr[i + 1]) {
[arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
done = false;
}
}
// 如果前一次遍历,没换一个,说明后面的都是升序的,不用再继续了
if (done) {
break;
}
}
return arr;
}
bubbleSort(arr);