JS几种排序算法

2015/11/17 11:35
阅读数 49

一.冒泡排序

var bubble = function(arr){
for(i=0;i<9;i++){
for(j=0;j<9-i;j++){
if(arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}


二.插入排序

var insersort = function(arr){
for(i=1;i<10;i++){
temp = arr[i];
j = i;
while(j > 0 && arr[j-1] > temp){
arr[j] = arr[j-1];
j--;
}
arr[j] = temp;
}
return arr;
}

//快速排序
var quicksort = function(arr){
var basenum,basenumIndex;
var left = [];
var right = [];

if(arr.length <= 1){
return arr;
}

三.基准数的位置

var quicksort = function(arr){
         var basenum,basenumIndex;
         var left = [];
         var right = [];
 
         if(arr.length <= 1){
             return arr;
         }
         //基准数的位置
         basenumIndex = Math.floor(arr.length/2);
         basenum = arr.splice(basenumIndex,1)[0];
         for(i=0;i<arr.length;i++){
             if(arr[i] < basenum){
                 left.push(arr[i]);
             }
             else{
                 right.push(arr[i]);
             }
         }
         //递归调用
         return quicksort(left).concat([basenum],quicksort(right));
     }
 

 


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部