1、從數組第2個元素開始抽取元素。
2、把它與左邊第一個元素比較,如果左邊第一個元素比它大,則繼續與左邊第二個元素比較下去,直到遇到不比它大的元素,然后插到這個元素的右邊。
3、繼續選取第3,4,….n個元素,重復步驟 2 ,選擇適當的位置插入。
冒泡、選擇都是把未排序的和未排序的進行比較換位 而插入排序的思想是把未排序的和已經排好序的進行比較換位
Array.prototype.insertSort = function() { let len = this.length for (let j=0; j<len; j++) { for (let i=j+1; i>0; i--) { if (this[i] < this[i-1]) { // 這里開始和左邊已排好序的進行比較,如果小於前面的就換位 let tempnum = this[i] this[i] = this[i-1] this[i-1] = tempnum } else { // 這時候最大的已經在最右邊了,沒必要再和前面比了 break } } } }