冒泡排序(js代码)

1.比较相邻的元素。如果第一个比第二个大,就交换它们两个

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数

3.除去最右的元素,我们对剩余的元素做同样(1、2)的工作,如此重复下去,直到排序完成。

这里我们把排序的方法封装到Array的原型链对象上,这样随便一个数组就可以直接调用了

Array.prototype.bubbleSort = function() {
	let len = this.length
	for (let j=1; j<len; j++) {
		for (let i=0; i<len-j; i++) {
			// 开始比较,如果第一个数大于第二个数就进行交换,这样大的就到后面去了
			if (this[i] > this[i+1]) {
				let tempnum = this[i+1]
				this[i+1] = this[i]
				this[i] = tempnum
			}
		}
	}
}
let arr = [2,9,5,7,1,1,6,3,3,4]
console.log("原来:", arr.toString())
// 原来: 2,9,5,7,1,1,6,3,3,4
arr.bubbleSort()
console.log("排序后:", arr.toString())
// 排序后: 1,1,2,3,3,4,5,6,7,9

  

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