本文摘自PHP中文网,作者V,侵删。

本文介绍了js实现计数排序的方法(升级版)
原版计数排序,桶的容积需要一个可以包含最小值到最大值所有可能出现的数字。这里我们可以将桶换成对象,利用对象的自动排序与不能出现相同属性名的键值对这两个特点,不需要一个有序容积的桶,随意新增键值对即可。代码如下
1 | var ary=[23,14,12,24,53,31,53,35,46,12,62,23]
|
代码示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function countSort(arr){
let obj={};
for (let i=0;i<arr.length;i++){
if (!obj[arr[i]]){
obj[arr[i]]=1;
} else {
obj[arr[i]]++;
}
}
let index=0;
for (let key in obj){
while (obj[key]>0){
arr[index]=Number(key);
obj[key]--;
index++
}
}
return arr;
}
console.log(countSort(ary));
|
相关教程推荐:js教程
以上就是js如何实现计数排序的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
js中如何进行字符串替换
javascript如何自动关闭窗口
示例js 数组和对象的深拷贝操作
js中怎么写ajax
javascript中string怎么转成数组
js内置对象 math 和 date 的详解
js json字符串如何转json对象
jquery表单插件jquery.form.js
js如何实现利用键盘控制div移动
原生js实现年份轮播选择效果
更多相关阅读请进入《js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » js如何实现计数排序