数据结构和算法分享专题ACM题库~数据结构和算法分析

排序算法——选择排序

2017-02-08  本文已影响68人  关玮琳linSir

选择排序:目测应该是最为基础的排序算法之一,它的中心思想也很简单,就是每次在现有的所有的序列中找到最小的放在序列的一端,然后在剩余的序列中找到最小的放在序列的一端,往复这样的操作就可以了。

选择排序的时间复杂度是O(n^2),是一种基于比较的排序。

/**
 * Created by linSir on 17/2/8.
 */
var list = [10, 3, 2, 6, 7, 5, 9];
function getMin(list, a, b) {
    var min = list[a];
    var xiabiao = a;
    for (var i = a; i < b; i++) {
        if (list[i] < min) {
            xiabiao = i;
            min = list[i];
        }
    }
    return xiabiao;
}

function sort(list) {
    for (var i = 0; i < list.length; i++) {
        var temp;
        var a = getMin(list, i, list.length + 1);
        temp = list[a];
        list[a] = list[i];
        list[i] = temp;
    }
}

sort(list);
console.log(list);

整个算法也很简单,大家应该看一眼代码就能看懂,这里面语言我采用的是nodejs,当然,算法本身才是重点,语言只是一个工具。它输出的结果:

排序过程
上一篇 下一篇

猜你喜欢

热点阅读