zoukankan      html  css  js  c++  java
  • Java实现基数排序

    • 基本介绍

    基数排序属于“分配式排序”,它通过元素的各个位的值,将元素放置对应的“桶”中

    基数排序属于稳定性排序,效率高,但是过多的元素会出现虚拟机运行内存的不足(千万个元素)

    • 基本思想

    把元素统一为同样长度的数组长度   元素较短的数前面补0,比如(1 15 336   看成  001 015 336)

    然后从最低位开始,以此进行排序。

    •  代码实现

    public static void radix_sortin(int[] str) {
      
      // 桶  10个桶  每个桶的最大容量默认为数组长度
      int[][] bucket = new int[10][str.length];
      // 每个桶的当前容量
      int[] capacity = new int[10];
           
      //元素求出最大数                                                                                                                                                                                                                                                                                                                                                                                                                                          
      int max = str[0];
      for (int r = 0; r < str.length; r++) {
       if (str[r] > max) {
        max = str[r];
       }
      }
      //求出最大长度 用于判断循环几大轮 
      int length = (max + "").length();
           
          //取得(个位 十位 百位。。。。)基数     
      for (int b= 0,u=1; b < length; b++,u*=10) {
       for (int i = 0; i < str.length; i++) {
        int base = str[i] /u % 10;  //比如基数为 4
        //将基数按照规则放进桶中
        bucket[base][capacity[base]] = str[i];     //放进第四个桶中 的第一几个当前容量位置
        capacity[base]++;   //容量增加
       }
       
       // 取出数据
       int d = 0;
       for (int k = 0; k < capacity.length; k++) {
        if (capacity[k] != 0) {
         for (int p = 0; p < capacity[k]; p++) {
          str[d] = bucket[k][p];
          d++;
         }
        }
        //注意:清零
        capacity[k] = 0;
       }
      }
     }
  • 相关阅读:
    Power BI 了解DAX中LASTDATE和MAX之间的区别
    js去除字符串中所有html标签 替换某特殊字符 以及获取URL 参数
    Power BI Dax 动态账期,并将该月余下的天数计入下一个月
    Power BI 设置多级文件夹
    在Excel 中对 Power BI Desktop进行分析
    Power BI:如果我创建具有垂直布局(纵向模式)的报表会怎样?
    在PowerPoint 中嵌入Power BI 方法(二)
    将 PowerPoint 作为浏览器使用
    Power Point 中嵌入Power BI
    通过自动日期/时间和DAX变量提高Power BI性能
  • 原文地址:https://www.cnblogs.com/miwujun/p/12680876.html
Copyright © 2011-2022 走看看