zoukankan      html  css  js  c++  java
  • 基本排序算法——基数排序java实现

    基数排序

    package basic.sort;
    
    import java.util.Arrays;
    import java.util.Random;
    
    public class RadixSort {
        /**
         * use LSD
         * @param number
         * @param d  key code number in fact is the radix;
         */
        private void radixSort(int[] number, int d) {
            int k = 0;
            int n = 1;
            int m = 1;// 控制键值排序依据在哪一位
    
            int[][] temp = new int[number.length][number.length];
            int[] order = new int[number.length];
            
            while (m <= d) {
                /**
                 * distribute
                 */
                for (int i = 0; i < number.length; i++) {
                    int lsd = ((number[i] / n) % 10);
                    temp[lsd][order[lsd]] = number[i];
                    order[lsd]++;
                }
                /**
                 * collect 
                 */
                for (int i = 0; i < d; i++) {
                    if (order[i] != 0)
                        for (int j = 0; j < order[i]; j++) {
                            number[k] = temp[i][j];
                            k++;
                        }
                    order[i] = 0;
                }
                
                n *= 10;
                k = 0;
                m ++;
            }
        }
    
        public static void main(String[] args) {
            Random rand = new Random();
            int[] arr = new int[10];
            for(int i = 0 ;i <10 ;i++){
                arr[i] = rand.nextInt(1000);
            }
            println("RadixSort () ");
            
            println(Arrays.toString(arr));    
            new RadixSort().radixSort(arr, 10);        
            println(Arrays.toString(arr));
        }
        
        private static void println(String arg){
            System.out.println(arg);
        }
    
    }

    继续学习

  • 相关阅读:
    Nginx降权启动
    Tomcat降权启动
    【转载】XSS学习笔记
    仪仗队(容斥,欧拉,打表)
    2012蓝桥杯
    HPU周赛题目解析
    蓝桥杯真题集2011
    cf公式专场-续
    24点游戏&&速算24点(dfs)
    Parallelogram Counting(平行四边形个数,思维转化)
  • 原文地址:https://www.cnblogs.com/xuddong/p/3291197.html
Copyright © 2011-2022 走看看