插入排序每次排一個數組項,以此方法構建最後的排序數組算法
思路:從數組的第二項開始,以此與前一項進行比較,若是比前一項大,則正確排序,若是沒有,則交換位置繼續與前一位比較,至排序正確。數組
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; // 將當前項的值插入到指定位置 } }