public void bucketSort(int[] nums){ int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; for(int num : nums){ max = Math.max(max, num); min = Math.min(min, num); } int bucketCount = (max-min)/nums.length+1; List<List<Integer>> bucketList = new ArrayList<>(); for (int i = 0; i < bucketCount; i++) { bucketList.add(new ArrayList<>()); } for(int num : nums){ int index = (num-min)/nums.length; bucketList.get(index).add(num); } for(List<Integer> bucket : bucketList){ Collections.sort(bucket); } int j = 0; for(List<Integer> bucket : bucketList){ for(int num : bucket){ nums[j] = num; j++; } } }
PS:类似计数排序,不同点在于统计的是某个区间(桶)里的数。
上面是“java常见排序算法——桶排序(附代码示列)”的全面内容,想了解更多关于 后端开发 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_4262.html
workflows工作流
- 一幅骨架坐在公园的长椅上
- 一个男孩在吃西瓜ComfyUI工作流
- 庭院,彩色玫瑰,云雾笼罩comfyui工作流
- 一名男子跪在月球岩石表面看见小行星碰撞
- 小丑鱼马林在鱼缸里游来游去ComfyUI工作流
- 哈利波特魔法ComfyUI工作流
- 一只开屏的白色孔雀ComfyUI工作流
- 三阶放大comfyui工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!