基數排序 - JavaScript
基數排序
基數排序是一種排序演算法,它透過對具有相同有效位置和值的各個數字進行分組來對具有整數鍵的資料進行排序。
我們需要編寫一個 JavaScript 函式,它將一個文字陣列作為唯一的引數。該函式應使用基數排序演算法按升序或降序對陣列進行排序。
示例
以下程式碼 −
const arr = [45, 2, 56, 2, 5, 6, 34, 1, 56, 89, 33];
const radixSort = (arr = []) => {
const base = 10;
let divider = 1;
let maxVal = Number.NEGATIVE_INFINITY;
while (divider === 1 || divider <= maxVal) {
const buckets = [...Array(10)].map(() => []);
for (let val of arr) {
buckets[Math.floor((val / divider) % base)].push(val);
maxVal = val > maxVal ? val : maxVal;
}
arr = [].concat(...buckets);
divider *= base;
};
return arr;
};
console.log(radixSort(arr));輸出
以下是在控制檯上顯示的輸出 −
[ 1, 2, 2, 5, 6, 33, 34, 45, 56, 56, 89 ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP