# 冒泡排序
- 时间复杂度: O(n²)
- 空间复杂度: O(1)
https://visualgo.net/zh/sorting?slide=1
// 冒泡排序
var initArr = [9,8,7,6,5,4,3];
function swap(arr, index1, index2) {
var temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
function bubbleSort(arr) {
var len = arr.length;
for (let i = 0; i < len; i ++) {
for(let j = 0; j < len - i; j ++) {
// j + 1 可能溢出,
// console.log(arr[j + 1])
if (!arr[j + 1]) {
break;
}
console.log(arr[j + 1])
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1);
}
}
}
console.log(initArr)
return initArr;
}
bubbleSort(initArr)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
← 时间复杂度和空间复杂度 插入排序 →