改进冒泡思路
如果在某次的排序中没有出现交换的情况,那么说明在无序的元素现在已经是有序了,就可以直接返回了。
改进冒泡实现
Function.prototype.method = function(name, func){ this.prototype[name] = func; return this; }; Array.method('rBubbleSort', function(){ var len = this.length, i, j, tmp, exchange; for(i=0; i<len; i++){ exchange = 0; for(j=len-1; j>i; j--){ if(this[j] < this[j-1]){ tmp = this[j]; this[j] = this[j-1]; this[j-1] = tmp; exchange = 1; } } if(!exchange) return this; } return this; });