您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法

基数排序法(图文)

第十三双眼睛2023-10-18【数据结构与算法】人已围观

简介基数排序法

基数排序法
package com.xingchen.day006;
import java.util.Arrays;
public class RaidSort {
    public static void main(String[] args) {
        int[] arr = {53,3,542,748,14,214};
        sort(arr);
        System.out.println(Arrays.toString(arr));
    }
    public static void sort(int[] arr) {
        // 得到数组中最大的位数
        int max = arr[0];
        for (int i= 0 ; i<arr.length; i++) {
            if (arr[i]> max) {
                max = arr[i];
            }
        }
        int maxLength  = (max + "").length();
        // 定义10个一维数组,来表示10个捅
        int [][] bucket = new int[10][arr.length];
        // 定一个一个一维数组,记录每个桶有多少个数据
        int []bucketCount = new int[10];
        for (int i = 0, n = 1; i< maxLength; i++, n = n*10) {
            //对每个元素的个位进行处理
            for (int j = 0; j<arr.length; j++) {
                int w = arr[j]/n%10;
                //放入到对应的桶中
                bucket[w][bucketCount[w]] = arr[j];
                bucketCount[w]++;
            }
            int index = 0;
            // 将所有的数放入到原数组
            for (int k = 0; k<bucketCount.length; k++) {
                if (bucketCount[k] != 0) {
                    for (int l = 0; l< bucketCount[k]; l++) {
                        arr[index] = bucket[k][l];
                        index ++;
                    }
                }
                bucketCount[k] = 0;
            }
        }
    }
}

Tags:

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

本站推荐

站点信息

  • 网站名称:JavaStudy
  • 建站时间:2019-1-14
  • 网站程序:帝国CMS7.5
  • 文章统计242篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们