# 冒泡排序

  • 时间复杂度: 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
上次更新: 2021/2/24 上午10:55:31