中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Java排序算法 - 基數(shù)排序

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

基本思想:將所有待比較數(shù)值(正整數(shù))統(tǒng)一為同樣的數(shù)位長度,數(shù)位較短的數(shù)前面補零。然后,從最低位開始,依次進行一次排序。這樣從最低位排序一直到最高位排序完成以后,數(shù)列就變成一個有序序列。

import java.util.ArrayList;
import java.util.List;
 
public class radixSort {
    int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,101,56,17,18,23,34,15,35,25,53,51};
public radixSort(){
    sort(a);
    for(int i=0;i<a.length;i++)
        System.out.println(a[i]);
}
public  void sort(int[] array){  
                
            //首先確定排序的趟數(shù);  
        int max=array[0];  
        for(int i=1;i<array.length;i++){  
               if(array[i]>max){  
               max=array[i];  
               }  
            }  
 
    int time=0;  
           //判斷位數(shù);  
            while(max>0){  
               max/=10;  
                time++;  
            }  
                
        //建立10個隊列;  
            List<ArrayList> queue=new ArrayList<ArrayList>();  
            for(int i=0;i<10;i++){  
                ArrayList<Integer> queue1=new ArrayList<Integer>();
                queue.add(queue1);  
        }  
               
            //進行time次分配和收集;  
            for(int i=0;i<time;i++){  
                    
                //分配數(shù)組元素;  
               for(int j=0;j<array.length;j++){  
                    //得到數(shù)字的第time+1位數(shù);
                   int x=array[j]%(int)Math.pow(10, i+1)/(int)Math.pow(10, i);
                   ArrayList<Integer> queue2=queue.get(x);
                   queue2.add(array[j]);
                   queue.set(x, queue2);
            }  
                int count=0;//元素計數(shù)器;  
            //收集隊列元素;  
                for(int k=0;k<10;k++){
                while(queue.get(k).size()>0){
                    ArrayList<Integer> queue3=queue.get(k);
                        array[count]=queue3.get(0);  
                        queue3.remove(0);
                    count++;
              }  
            }  
          }  
                
   } 
 
}

標簽:

版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:java超快速文本去重復代碼

下一篇:Java通過gzip對字符串進行壓縮和解壓縮