排序算法-(2)选择排序

这篇主要介绍下选择排序算法的实现

选择排序

算法思想简单:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。

最差、最优、平均时间复杂度都为O(n^2)。辅助空间为O(1)。稳定性:不稳定。

算法实现

function selectSort(arr) {
    for (let i = 0; i < arr.length - 1; i++) {
        let minIndex = i;
        for (let j = i + 1; j < arr.length; j++) {
            minIndex = arr[j] < arr[minIndex] ? j : minIndex;
        }
        [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]];
    }
}

 

posted @ 2017-10-16 10:58  汕大小吴  阅读(132)  评论(0编辑  收藏  举报