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工作流
严寒的冬天里一只小鸟在森林的树枝上休息
一个美丽的女孩穿着花瓣做的衣服
未来椅子3D产品ComfyUI工作流
懂王特朗普3d漫画ComfyUI工作流
水晶玉雕巨龙ComfyUI工作流
三阶放大comfyui工作流
骨骼般的恶魔修女ComfyUI工作流
一只张大嘴巴露出锋利的牙齿正在咆哮的雪豹
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!