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

    }
}
相关推荐
OxYGC8 分钟前
[玩转GoLang] 5分钟整合Gin / Gorm框架入门
开发语言·golang·gin
锐策12 分钟前
Lua 核心知识点详解
开发语言·lua
你三大爷15 分钟前
再探volatile原理
java
2301_7816686120 分钟前
Redis 面试
java·redis·面试
郑洁文23 分钟前
基于SpringBoot的天气预报系统的设计与实现
java·spring boot·后端·毕设
kyle~29 分钟前
C/C++---动态内存管理(new delete)
c语言·开发语言·c++
沃夫上校37 分钟前
MySQL 中文拼音排序问题
java·mysql
Dcs40 分钟前
用 Python UTCP 直调 HTTP、CLI、MCP……
java
落日沉溺于海1 小时前
React From表单使用Formik和yup进行校验
开发语言·前端·javascript
快乐肚皮1 小时前
fencing token机制
java·fencing token