# 选择排序

# 概念

# 实现

function selectionSort(arr) {
    var len = arr.length;
    var minIndex, temp;
    for (var i = 0; i < len - 1; i++) {
        minIndex = i;
        for (var j = i + 1; j < len; j++) {
            if (arr[j] < arr[minIndex]) {     // 寻找最小的数
                minIndex = j;                 // 将最小数的索引保存
            }
        }
        temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
    return arr;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 复杂度

空间复杂度: O(1)

平均时间复杂度: O(n^2)

最好情况: O(n^2)

最坏情况: O(n^2)