排序【2】— 选择排序

2020-10-10  本文已影响0人  弱冠而不立

选择排序实现原理:从待排序元素中选择最小(最大)的元素作为首元素,直到排序完成。

每次都从待排元素中选择最小元素放置待排元素的首位
<script>
    let arr = [3, 4, 1, 2];
    //外层循环 n-1 次,表示要找 n-1 次最小值
    for(let i = 0; i < arr.length-1; i++ ) {
        let mixIdx = i;
        //内层循环找到后面未排序数组元素的最小值
        for(let j = i+1; j < arr.length; j++) {
            //如果当前最小值大于比较值,则将最小值下标替换为比较值下标
            if( arr[mixIdx] > arr[j] ) {
                mixIdx = j; 
            }
        }
        // 将最小元素和待排元素的首位替换
        [arr[mixIdx], arr[i]] = [arr[i], arr[mixIdx]];
    }
    console.log(arr);
</script>
上一篇 下一篇

猜你喜欢

热点阅读