赞
踩
首先我们创建一个列表类,将要排序的元素放在一个数组中,便于后期插入和转化
function ArrayList(){ //属性 this.array = [] //方法 //将数据可以插入到数组中的方法 ArrayList.prototype.insert = function(item){ this.array.push(item) } //toString方法 ArrayList.prototype.toString = function(){ return this.array.join('-') } //交换两个位置的数据(便于在排序中直接使用) ArrayList.prototype.swap = function(m,n){ var temp = this.array[m] this.array[m] = this.array[n] this.array[n] = temp } }
冒泡排序相对于其他排序运行效率较低,但在排序算法中是最简单的
冒泡排序的思路:
ArrayList.prototype.bubblesort = function(){
var length = this.array.length
for(var j = length - 1; j >= 0; j--){
//第一次:j=length-1,比较到倒数第一的位置
//第二次:j=length-2,比较到倒数第二的位置
//...
for(var i = 0; i < j; i++){
//第一次进来,i=0,比较第0位和第1位的两个数据
//最后一次进来,i=length-2,比较length-2和length-1两个数据
if(this.array[i] > this.array[i+1]){
this.swap(i,i+1)
}
}
}
}
冒泡排序的效率:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。