插入排序

原理:插人排序每次排一個數組項,以此方式構建最後的排序數組。假定第一項已經排序了,接着, 它和第二項進行比較,第二項是應該待在原位還是插到第一項之前呢?這樣,頭兩項就已正確排 序,接着和第三項比較(它是該插人到第一、第二還是第三的位置呢?),以此類推。

圖解:

 

JS

'use strict'

function insertSort(array){
    //console.log(array);
    for(let i=1;i<array.length;i++){
        console.log(i);
        let j=i,tmp=array[i];
        while(j>0&& array[j-1]>tmp){
            array[j]=array[j-1];
            j--;
            console.log(array);
        }
        array[j]=tmp;
      
    }
    return array;
}

let array=[1,2,4,3,5,2,7,5,6];

insertSort(array);

console.log(array);

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