本文摘自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怎么换行
js写后端用什么框架
es6 filter()方法如何实现?用法介绍
如何实现ajax请求?
js如何实现盒子拖拽效果?(附代码)
js中如何进行字符串替换
如何利用js拼接html字符串
js如何修改css样式
关于js中的this指向问题的介绍
js面试过程中遇到的异步问题
更多相关阅读请进入《js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » js如何实现计数排序