基数ソート
基数ソート比較型が非整数ソートアルゴリズムであり、原理は、ビットの整数は、各のビット数を比較した、異なる数により切断されます。整数は、特定のフォーマット(例えば、名前、日付など)浮動小数点文字列を表現することができるので、基数ソートは、整数のみのために使用されません。
ソートバケットソート、ソート、カウント対対基数
基数ソート二つの方法で:
3つのソートアルゴリズムは、バレルの概念を利用するが、バレルの使用における明らかな違いがあります。
- 基数ソート:各デジタルキーに基づいてバケットを割り当てます。
- カウントシーケンシング:単一キーのみを格納し、各バケット。
- バケットソート:範囲の各バケット値を記憶します。
マップのプレゼンテーションを移動します
コードの実装
//LSD Radix Sort
var counter = [];
function radixSort(arr, maxDigit) {
var mod = 10;
var dev = 1;
for (var i = 0; i < maxDigit; i++, dev *= 10, mod *= 10) {
for(var j = 0; j < arr.length; j++) {
var bucket = parseInt((arr[j] % mod) / dev);
if(counter[bucket]==null) {
counter[bucket] = [];
}
counter[bucket].push(arr[j]);
}
var pos = 0;
for(var j = 0; j < counter.length; j++) {
var value = null;
if(counter[j]!=null) {
while ((value = counter[j].shift()) != null) {
arr[pos++] = value;
}
}
}
}
return arr;
}