选择排序
基本概念
假设要升序,循环遍历n个数,每次拿当前数和后面的数比较,记录最小值,每轮结束后把最小值放到前面。
代码实现
/**
* 选择排序
*/
function selectSort(arr) {
for (let i = 0; i < arr.length; i++) {
// 把当前数与后面的数做比较,记录最小值下标
let minIndex = i
for (let j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j
}
}
// 把最小值放到前面
let temp = arr[i]
arr[i] = arr[minIndex]
arr[minIndex] = temp;
}
return arr
}
console.log(selectSort([4, 5, 2, 3, 1, 0, -10, -3, -2]))