JavaScript並べ替えアルゴリズムのバケツ並べ替え

7079 ワード

バレルの並べ替えは、配列の下付きが自動的にソートされます.
var arr = [];
//arr[    ] =     
arr[5] = 1;
arr[2] = 1;
arr[3] = 1;
arr[9] = 1;
arr[10] = 1;

//          ,           
console.log(arr);
実行結果:

(11) [empty × 2, 1, 1, empty, 1, empty, 1, empty × 2, 1]
2: 1
3: 1
5: 1
7: 1
10: 1
length: 11
下付きの自動並べ替えはプログラムによって行われます.1つの配列が必要です.
var arr = [3,2,5,7,10];
2.下付き容器
var bocket = [];
for( var i = 0 ; i < arr.length ; i ++){
	//arr[i]        
	bocket[arr[i]] = 1;
	//   1               ,          
}
console.log(bocket);
Array(11)
2: 1
3: 1
5: 1
7: 1
10: 1
length: 11
元の配列をクリアして下付きを取り出します.
arr.length = 0;
for(var attr in bocket){
	arr.push(Number(attr));
}
console.log(arr);
実行結果:
[2, 3, 5, 7, 10]
まとめ:
var arr = [3,2,5,7,10];
var bocket = [];
for( var i = 0 ; i < arr.length ; i ++){
	bocket[arr[i]] = 1;
}
arr.length = 0;
for(var attr in bocket){
	arr.push(Number(attr));
}
console.log(arr);