递归:对于长度太大的数组,采用尾调用,防止内存溢出
function foo(index,len){
if(len>0){
if(index<len){
if(ary[index]>ary[index+1]){
var item=ary[index];
ary[index]=ary[index+1];
ary[index+1]=item;
}
rturn foo(index+1,len)
}else {
return foo(0,len-1);
}
}else {
return ary
}
}
foo(0,ary.length-1);
冒泡:
for(var j=ary.length-1;j>0;j--){
for(var i=0;i<j;i++){
if(ary[i]>ary[i+1]){
var item=ary[i];
ary[i]=ary[i+1];
ary[i+1]=item;
}
}
}
冒泡算法优化
for(var j=ary.length-1;j>0;j--){
var isChange = false;
for(var i=0;i<j;i++){
if(ary[i]>ary[i+1]){
var item=ary[i];
ary[i]=ary[i+1];
ary[i+1]=item;
ischange = true;
}
}
if(!isChange) return;
}