选择排序
示意图
实现
function selectionSort(arr) {
const len = arr.length
for (let i = 0; i < len - 1; i++) {
let min = i
for (let j = i + 1; j < len; j++) {
if (arr[min] > arr[j]) {
min = j
}
}
if (min !== i) {
let temp = arr[i]
arr[i] = arr[min]
arr[min] = temp
}
}
return arr
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
分析
- 时间复杂度上表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度
- 数据规模越小越好