关于数组排序中的桶排序
1、 桶排序思路
用一张图描述一下桶排序的思路
2、桶排序简单描述
桶排序实际上一种比较极端的排序方式,因为它需要将数组中的数值变为设定对应数量的桶,尽管JS允许这么做,但这种做法无疑对性能消耗较大.
核心在于在承载下标的容器 bocket 中 取出对应下标,并将原数组清空.
3、代码参考
//1.需要一个数组;
var arr = [18,11,28,45,23,50];
//需要建立对应数量的桶,可以省略;
// 因为JS可以创建对应数量的桶;
//承载下标的容器;
var bocket = [];
for(var i = 0; i < arr.length ; i ++){
//arr[i]是需要排列的数字;
console.log(arr[i]);
//bocket[arr[i]];
//赋值为1的原因为需要随意填写一个数据,数据是什么不重要,小一点即可;
bocket[arr[i]] = 1;
}
console.log(bocket);
//取出下标
//清空原数组;
arr.length = 0;
// 用 for in 去做 比for循环节省次数;
for(var attr in bocket){
// for in之中的attr是字符串,需要进行转换;
arr.push(Number (attr));
}
console.log(arr);
</script>
运行结果如下: