冒泡排序(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