美文网首页
排序【2】— 选择排序

排序【2】— 选择排序

作者: 弱冠而不立 | 来源:发表于2020-10-10 10:44 被阅读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>

相关文章

  • android 随笔之排序算法

    1,冒泡排序(1) 冒泡排序(2) 2,选择排序 3,插入排序 4,快速排序

  • 程序员必须掌握的8大排序算法

    分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)...

  • 排序

    分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序...

  • Java常用排序算法/程序员必须掌握的8大排序算法

    分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)...

  • 常用排序算法

    分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)...

  • 常见的排序算法(1)

    要点 冒泡排序 选择排序 插入排序 希尔排序 1. 冒泡排序 2.选择排序 3. 插入排序 4.希尔排序

  • 排序方法(冒泡、选择、插入、递归)

    1.冒泡排序 2.选择排序 选择排序优化 3.插入排序 4.快速排序

  • js常用的数组排序

    1、冒泡排序 2、选择排序 3、桶排序 4、sort排序

  • 常用排序(收藏)

    1.排序分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择...

  • 排序

    1、选择排序 2、冒泡排序 3、插入排序 4、快速排序

网友评论

      本文标题:排序【2】— 选择排序

      本文链接:https://www.haomeiwen.com/subject/ozflpktx.html