排序算法——選擇排序

選擇排序:目測應該是最為基礎的排序算法之一,它的中心思想也很簡單,就是每次在現有的所有的序列中找到最小的放在序列的一端,然后在剩余的序列中找到最小的放在序列的一端,往復這樣的操作就可以了。

選擇排序的時間復雜度是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,當然,算法本身才是重點,語言只是一個工具。它輸出的結果:

排序過程
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容