选择排序

选择排序(Selection-sort)是一种简单直观的排序算法。它也是表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。

它的工作原理:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

选择排序是从数组的开头开始,将第一个元素和其他元素作比较,检查完所有的元素后,最小的放在第一个位置,接下来再开始从第二个元素开始,重复以上一直到最后。

function selectSort(arr) {
    var len = arr.length;
    for(let i = 0 ;i < len - 1; i++) {
        for(let j = i ; j<len; j++) {
            if(arr[j] < arr[i]) {
                [arr[i],arr[j]] = [arr[j],arr[i]];
            }
        }
    }
    return arr
}

简单说两句:外层循环的i表示第几轮,arr[i]就表示当前轮次最靠前(小)的位置;内层从i开始,依次往后数,找到比开头小的,互换位置即可.

  • 外层循环的i表示第几轮,arr[i]就表示当前轮次最靠前(小)的位置;

  • 内层从i开始,依次往后数,找到比开头小的,互换位置即可

最后更新于