插入排序(JS代碼)


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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM