JS几种排序算法

一.冒泡排序

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));

     }

 

 


你可能感兴趣的:(排序算法)