美文网首页
选择排序

选择排序

作者: zhanggongzi | 来源:发表于2022-01-08 20:28 被阅读0次

    基本思想:
    首先,找出未排序里面的最小值放在第一个位置,如果第一个值即是自小值,那么不需要交换,否则两者值进行交换。
    然后,从第二个值开始,找出未排序的最小值。同样,如果第二个值是次小的值不需要交换,否则第二个值跟次小的值进行交换。
    再者,从第三个值开始遍历找出第三小的值,进行交换,依次类推。

    动态图例:


    selectionSort.gif

    javascript代码:
    var arr1= [1,2,3,5,44,22,12,4,2,66,27];
    function selectSort(arr){
    if(!(arr instanceof Array) || arr.length <2) return arr;
    for(let i =0; i < arr.length - 1;i++){
    let idx = i;
    for(let j = i + 1; j < arr.length; j++){
    if(arr[j] < arr[idx]){
    idx = j
    }
    }
    if(i != idx){
    let temp = arr[i]
    arr[i] = arr[idx]
    arr[idx] = temp
    }
    }
    return arr;
    }

    selectSort(arr1)
    [1, 2, 2, 3, 4, 5, 12, 22, 27, 44, 66]

    相关文章

      网友评论

          本文标题:选择排序

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