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
}
}
}
}
