/**
遍历 length - 1 次
从左到右开始找,每遍历一次将最小值跟当前值交换
时间复杂度 O(n^2^)
*/
function selctionSort(target) {
for (let i = 0; i < target.length - 1; i++) {
let min = target[i]
let minIndex = i
for (let j = i + 1; j < target.length; j++) {
if (target[j] < min) {
min = target[j]
minIndex = j
}
}
console.log(`第${i + 1}次循环`, target)
// 减少循环次数
if (minIndex === i) break
target[minIndex] = target[i]
target[i] = min
}
return target
}
console.log(selctionSort([23, 32, 5, 72, 12, 1]))
console.log(selctionSort([1, 2, 3, 4, 5, 6]))
console