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

    }
}
相关推荐
Remember_993几秒前
网络原理初识:从基础概念到协议分层
开发语言·网络·php
SamRol几秒前
达梦数据库指令 及 在Spring Boot + MyBatis-Plus上的使用
java·数据库·spring boot·mybatis·达梦·intellij idea
LOYURU2 分钟前
Centos7.6安装Go
开发语言·后端·golang
小二·2 分钟前
Go 语言系统编程与云原生开发实战(第1篇):从零搭建你的第一个 Go 服务 —— 理解 GOPATH、Modules 与现代 Go 工作流
开发语言·云原生·golang
星期五不见面3 分钟前
嵌入式学习!(一)C++学习-STL(21)-26/1/27
开发语言·c++·学习
大白要努力!3 分钟前
Android Spinner自定义背景
java·开发语言
小北方城市网4 分钟前
Elasticsearch 分布式检索生产级优化:从索引设计到查询性能
java·大数据·运维·redis·分布式·elasticsearch·搜索引擎
En^_^Joy5 分钟前
Kubernetes流量负载:Service与Ingress全解析(K8s)
java·容器·kubernetes
w_t_y_y6 分钟前
工具Cursor(五)Rules&Skill
java·开发语言
冬奇Lab6 分钟前
【Kotlin系列16】性能优化:内联、内存与字节码分析
开发语言·性能优化·kotlin