选择排序

基本概念

假设要升序,循环遍历n个数,每次拿当前数和后面的数比较,记录最小值,每轮结束后把最小值放到前面。

1

代码实现

/**
 * 选择排序
 */
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]))