SOURCE


/**
 * 选择排序,第一趟,默认第一个是最小值,赋值给 min_index,然后把剩下的和 min_index 比较
 * 如果遇到更小的,则赋值给 min_index,最后把 min_index 和 当前第几趟的 i,交互数据
 */

const select_sort = list => {
    const len = list.length;

    for (let i = 0; i < len - 1; i++) {
        let min_index = i;
        for (let j = i + 1; j < len; j++) {
            if (list[j] < list[min_index]) {
                min_index = j;
            }
        }
        [list[i], list[min_index]] = [list[min_index], list[i]];
    }


    return list;
}


const list = [10, 2, 100, 4, 200, 3, 9, 20, 4];


console.log(select_sort(list));


console 命令行工具 X clear

                    
>
console