基数排序在Javascript中?
基数排序算法根据数字的有效数字或值(基数)将整数分配到存储桶中。基数基于数组值的数字系统。让我们看看如何实现它-
示例
function radixSort(arr) {
//找到最大数字并将其乘以10得到一个数字
//没有。最大+1的位数
const maxNum = Math.max(...arr) * 10;
let divisor = 10;
while (divisor < maxNum) {
//为0-9中的每一个创建存储区数组
let buckets = [...Array(10)].map(() => []);
//对于每个数字,获取当前有效数字并将其放在相应的存储区中
for (let num of arr) {
buckets[Math.floor((num % divisor) / (divisor / 10))].push(num);
}
//通过合并所有子数组来重建数组
arr = [].concat.apply([], buckets);
//移至下一个有效数字
divisor *= 10;
}
return arr;
}
console.log(radixSort([5,3,88,235,65,23,4632,234]))输出结果
[ 3, 5, 23, 65, 88, 234, 235, 4632 ]
热门推荐
3 祝福语简短七夕
10 宝宝生病简短祝福语大全
11 对司机的祝福语简短
12 关云生字祝福语简短
13 2026新年祝福语简短语
14 化学老师元旦祝福语简短
15 幼儿节日祝福语大全简短
16 表妹结婚祝福语简短藏语
17 毕业英语祝福语大全简短
18 兄弟的结婚祝福语简短