桶排序(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;
            }
        }

    }
}
相关推荐
北漂老男孩4 分钟前
Spring 框架核心机制深度解析【AI模型互搏生成】
java·后端·spring
asom2213 分钟前
Java 08集合
java·开发语言
独行soc31 分钟前
2025年渗透测试面试题总结-安恒[实习]安全工程师(题目+回答)
运维·开发语言·经验分享·网络安全·面试·渗透测试·php
kokotao32 分钟前
使用Java实现Navicat密码的加密与解密
java·开发语言·数据库·mysql
c无序35 分钟前
【Go-2】基本语法与数据类型
开发语言·后端·golang
快乐肚皮41 分钟前
深入浅出:Spring Cloud Gateway 扩展点实践指南
java·linux·运维
胡小禾1 小时前
ES常识9:如何实现同义词映射(搜索)
java·大数据·elasticsearch
傻傻虎虎1 小时前
【QT】ModbusTCP读写寄存器类封装
开发语言·数据库·qt