簡單選擇排序

簡單選擇排序

簡單選擇排序

在要排序的一組數中,選出最小(或者最大)的一個數與第1個位置的數交換;然后在剩下的數當中再找最?。ɑ蛘咦畲螅┑呐c第2個位置的數交換,依次類推,直到第n-1個元素和第n個元素比較完畢為止。時間復雜度為0(n^2)。

例子:8, 1, 10, 3, 7, 2, 6, 4, 9, 5 的選擇排序過程。
第1輪排序結果:1,8,10,3,7,2,6,4,9,5
第2輪排序結果:1,2,10,3,7,8,6,4,9,5
第3輪排序結果:1,2,3,10,7,8,6,4,9,5
第4輪排序結果:1,2,3,4,7,8,6,10,9,5
第5輪排序結果:1,2,3,4,5,8,6,10,9,7
第6輪排序結果:1,2,3,4,5,6,8,10,9,7
第7輪排序結果:1,2,3,4,5,6,7,10,9,8
第8輪排序結果:1,2,3,4,5,6,7,8,9,10
第9輪排序結果:1,2,3,4,5,6,7,8,9,10
第10輪排序結果:1,2,3,4,5,6,7,8,9,10
最終結果:1,2,3,4,5,6,7,8,9,10
function selectsort(list) {
    var temp;
    var min;
    for (var i = 0; i < list.length; i++) {
        min = list[i];
        temp = i;
        for (var j = i; j < list.length; j++) {
            if (list[j] < min) {
                min = list[j];
                temp = j;
            }
        }
        var temp2;
        temp2 = list[i];
        list[i] = list[temp];
        list[temp] = temp2;
        console.log("第" + (i + 1) + "輪排序結果:" + list);
    }
}
var a = [8, 1, 10, 3, 7, 2, 6, 4, 9, 5];
selectsort(a);
console.log("最終結果:" + a);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容