JavaScriptソートアルゴリズムのまとめ:発泡体の並べ替えの選択、並べ替えの迅速な並べ替え、並べ替え
2478 ワード
注:交換配列中の2つの要素はES 6のデスティネーションでも使用できます.
泡の並べ替え
[arr[j],arr[j+1]]=[arr[j+1],arr[j]]
泡の並べ替え
// , , A B , A>B,
// arr.length-1
// arr.length-1-i
function bubbleSort(arr){
var leng=arr.length;
for (var i=0;iarr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
var arr=[1,3,5,3,6,7,2,3];
console.log(bubbleSort(arr));
並べ替えを選択 function selectionSort(arr){
var leng=arr.length;
for (var i=0;iarr[j]){
var temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
}
return arr;
}
var arr=[1,3,5,3,6,7,2,3];
console.log(selectionSort(arr));
並べ替えの挿入 // ,
//
function insertionSort(arr){
var leng=arr.length;
for (var i=1;i=0;j--){
if(arr[j+1]
クイックソート // , ,
// , , , , ;
// , , 。
function quickSort(arr){
if(arr.length<=1){
return arr;
}
var left= [];
var right= [];
var base=arr.splice(0,1);
console.log(arr)
for(var i=0;i
並べ替え//
var sort=function(arr){
if(arr.length<=1) return arr;
let mid=parseInt(arr.length/2);
return merge(sort(arr.slice(0,mid)),sort(arr.slice(mid)));
}
var merge=function(left,right){
let res=[];
while(left.length>0 && right.length>0){
left[0]