JavaScript算法---排序(選擇排序)【2】

選擇排序是一種原地址比較排序的算法。

原理如下圖:找到數據結構中最小值然後將其放置在第一位,然後找到第二小的值放到第二位,以此類推。

代碼:

//快速排序
    var selectionSort = function(array) {
        debugger;
        var length = array.length,indexMin;
        for(var i = 0; i < length-1; i++){
            indexMin = i;
            for(j = i; j < length; j++){
                if(array[indexMin]>array[j]){
                    indexMin=j
                }
            }
            if(i != indexMin){
                exchange(array,i,indexMin)
            }
        }
        console.log(array)
    }
    //比較元素交換位置
    var exchange = function(array,index1,index2) {
        var aux =array[index1];
        array[index1] = array[index2];
        array[index2] = aux
    }
    selectionSort([4,2,56,7,3,11,8]);

選擇排序和冒泡排序一樣,會包含兩個循環導致二次方的複雜度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章