码迷,mamicode.com
首页 > 编程语言 > 详细

插入排序(JS代码)

时间:2020-03-15 23:56:21      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:asc   hellip   开始   nbsp   数组   class   遇到   js代码   on()   

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

  

插入排序(JS代码)

标签:asc   hellip   开始   nbsp   数组   class   遇到   js代码   on()   

原文地址:https://www.cnblogs.com/bobo1/p/12501141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!