js排序算法基礎--插入排序

插入排序

插入排序每次排一個數組項,以此方法構建最後的排序數組算法

思路:從數組的第二項開始,以此與前一項進行比較,若是比前一項大,則正確排序,若是沒有,則交換位置繼續與前一位比較,至排序正確。數組

function insertSort(array){
    var length = array.length,
        temp;
    // 咱們默認第一位是已經排序的,因此從第二位(索引爲1)開始;
    for(var i = 1; i < length; i++){
        j = i;
        temp = array[i];  // 保存當前要排序的值
        while(j > 0 && array[j - 1] > temp){  // 與當前項前面的項進行比較,
            // 若當前項比前一項小,則交換位置,並繼續與前一項比較
            array[j] = array[j - 1];
            j--;
        }
        array[j] = temp;   // 將當前項的值插入到指定位置
    }
}
排序小型數組時,此算法比選擇排序和冒泡排序的性能好;
相關文章
相關標籤/搜索