面试题 - 前端 - 算法 - 排序 - 冒泡排序

冒泡排序比较所有相邻的两个项,如果第一个比第二个大,则交换它们。元素项向上移动至 正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function bubbleSort(array) {
const { length } = array;
for (let i = 0; i < length; i++) {
for (let j = 0; j < length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
swap(array, j, j + 1);
}
}
}
return array;
}

function swap(array, a, b) {
const temp = array[a];
array[a] = array[b];
array[b] = temp;
}

const arr = [9, 3, 7, 4, 6];

console.log(bubbleSort(arr));