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

     }