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

    基数排序  就是先比较数组中元素的个位数,排序得到新的数组,然后比较新的数组中的十位数,排序得到新数组,然后再对最新得到的数组比较百位数.......依次循环

    比如{82 ,31 ,29 ,71, 72, 42, 64, 5,110} 比较个位数 排序  得到新数列{110,31,71,82,72,42,64,5,29} 然后对新数列比较十位数{110,29,31,42,64,71,72,82}  然后比较百位数,没有百位数的算作0,所以得到{29,31,42,64,71,72,82,110}

    代码如下:

    //基数排序  arrays是需要排序的数组
            List<Integer> list = new ArrayList<>();//辅助存储
            int sortTimes = 0;
            boolean flag = true;
            while(flag){
                flag = false;
                for(int i = 0;i<=9;i++){
                    for(int index = 0; index<arrays.length; index++){
                        if(getNumber(arrays[index],sortTimes) == i){
                            list.add(arrays[index]);
                        }
                        if(arrays[index]/(int) Math.pow(10,index+1)!=0){
                            flag = true;
                        }
                    }
                }
                for(int i = 0; i<list.size();i++){
                    arrays[i] = list.get(i);
                }
                list.clear();
                sortTimes++;
            }
  • 相关阅读:
    String类的常用方法
    StringBuffer和String的区别
    docker安装kali
    6.找素数
    5.三羊献瑞
    4.迷宫大逃亡
    3.百米
    2.后台登录
    1.猴子吃桃
    深入理解Docker容器和镜像
  • 原文地址:https://www.cnblogs.com/hithlb/p/3599593.html
Copyright © 2011-2022 走看看