原理:將整個為排序的數列分成兩個部分,一部分是已經排序好的,一部分是沒有排序好的,每次都從還未排序好的數列中去除一個數,插入到已經排序好的數列之中,直到未排序的數列為零;
* 在排序過程中,一般預設將數列的第一個數作為已經排序好的數列,將剩餘作為未排序好的數列
數列:[ 9,8,,7,6,5,4,3,2,1]
將整個數列分成兩部分:
已排序好的: 9
未排序好的:8 7 6 5 4 3 2 1
從未排序好的中取出一個數,插入到排序好的數列中
已排序好的:8 9
未排序好的:7 6 5 4 3 2 1
再從未排序好的中取出一個數,插入到排序好的數列中
已排序好的:7 8 9
未排序好的:6 5 4 3 2 1
依次類推,直到所有資料都排序完成。
JS程式碼實作:
var arr=[9,8,7,6,5,4,3,2,1];for(var i=1;i<arr.length;i++){ var temp=arr[i]; var j=i-1; while(j>=0&&arr[j]>temp){ arr[j+1]=arr[j]; arr[j]=temp; j--; } arr[j+1]=temp; }console.log(arr); 输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
相關推薦:
#JS實作的計數排序與基數排序演算法範例_javascript技巧
以上是JS插入排序詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!