插入排序(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
			}
		}
	}
}
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号