第一种:快速排序
var ary=[1,2,3,5,47,86,9,24,77];
function quickSort(ary){
if(ary.length<=1){
return ary;
}
var cen=Math.floor(ary.length/2);
var cenVal=ary.splice(cen,1)[0];
var left=[];
var right=[];
for(var i=0;i<ary.length;i++){
var cur=ary[i];
if(cur<cenVal){
left.push(cur);
}else{
right.push(cur);
}
}
return quickSort(left).concat([cenVal],quickSort(right));
}
console.log(quickSort(ary));
第二种:插入排序
var array=[1,2,3,5,47,86,9,24,77];
function insertSort(ary){
var left=[];
left.push(ary[0]);
for(var i=1;i<ary.length;i++){
var cur=ary[i];
for(var j=left.length-1;j>=0;j--){
if(cur<left[j]){
if(j==0){
left.unshift(cur);
}
continue;
}else{
left.splice(j+1,0,cur);
break;
}
}
}
return left;
}
console.log(insertSort(array));
第三种:冒泡排序
var ary=[1,2,3,5,47,86,9,24,77];
for(var i=0;i<ary.length-1;i++){
for(var j=0;j<ary.length-i;j++){
if(ary[j]>ary[j+1]){
var temp=null;
temp=ary[j];
ary[j]=ary[j+1];
ary[j+1]=temp;
}
}
}
console.log(ary);