桶排序(Java语言)

视频讲解地址:【手把手带你写十大排序】8.桶排序(Java语言)_哔哩哔哩_bilibili

代码:

java 复制代码
public class BucketSort {
    public void sortFunction(int[] array, int bucketNum) {
        int max = Integer.MIN_VALUE, min = Integer.MAX_VALUE;
        for (int i : array) {
            max = Math.max(max, i);
            min = Math.min(min, i);
        }
        List<List<Integer>> bucketList = new ArrayList<List<Integer>>();
        for (int i = 0; i < bucketNum; i++) {
            bucketList.add(new ArrayList<Integer>());
        }
        for (int i : array) {
            int bucketIndex = (i - min) * (bucketNum - 1) / (max - min);
            List<Integer> list = bucketList.get(bucketIndex);
            list.add(i);

        }
        for (int i = 0, arrIndex = 0; i < bucketList.size(); i++) {
            List<Integer> bucket = bucketList.get(i);
            Collections.sort(bucket);
            for (int num : bucket) {
                array[arrIndex++] = num;
            }
        }

    }
}
相关推荐
g***B73812 分钟前
JavaScript在Node.js中的模块系统
开发语言·javascript·node.js
不许哈哈哈12 分钟前
Python数据结构
数据结构·算法·排序算法
summer_west_fish17 分钟前
单体VS微服务:架构选择实战指南
java·微服务·架构
v***85719 分钟前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
烤麻辣烫27 分钟前
黑马程序员大事件后端概览(表现效果升级版)
java·开发语言·学习·spring·intellij-idea
q***965830 分钟前
Spring总结(上)
java·spring·rpc
思密吗喽31 分钟前
宠物商城系统
java·开发语言·vue·毕业设计·springboot·课程设计·宠物
csbysj202035 分钟前
Lua 函数
开发语言
头发还在的女程序员36 分钟前
三天搞定招聘系统!附完整源码
开发语言·python
温轻舟42 分钟前
Python自动办公工具06-设置Word文档中表格的格式
开发语言·python·word·自动化工具·温轻舟