本篇文章為大家展示了Java中怎么實(shí)現(xiàn)基數(shù)排序,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
瓦房店ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
基數(shù)排序(radix sort)又稱桶排序(bucket sort)
public class RadixSort { private static void radixSort(int[] array,int d) { int n=1;//代表位數(shù)對(duì)應(yīng)的數(shù):1,10,100... int k=0;//保存每一位排序后的結(jié)果用于下一位的排序輸入 int length=array.length; int[][] bucket=new int[10][length];//排序桶用于保存每次排序后的結(jié)果,這一位上排序結(jié)果相同的數(shù)字放在同一個(gè)桶里 int[] order=new int[length];//用于保存每個(gè)桶里有多少個(gè)數(shù)字 while(n<d) { for(int num:array) //將數(shù)組array里的每個(gè)數(shù)字放在相應(yīng)的桶里 { int digit=(num/n)%10; bucket[digit][order[digit]]=num; order[digit]++; } for(int i=0;i<length;i++)//將前一個(gè)循環(huán)生成的桶里的數(shù)據(jù)覆蓋到原數(shù)組中用于保存這一位的排序結(jié)果 { if(order[i]!=0)//這個(gè)桶里有數(shù)據(jù),從上到下遍歷這個(gè)桶并將數(shù)據(jù)保存到原數(shù)組中 { for(int j=0;j<order[i];j++) { array[k]=bucket[i][j]; k++; } } order[i]=0;//將桶里計(jì)數(shù)器置0,用于下一次位排序 } n*=10; k=0;//將k置0,用于下一輪保存位排序結(jié)果 } } public static void main(String[] args) { int[] A=new int[]{73,22, 93, 43, 55, 14, 28, 65, 39, 81}; radixSort(A, 100); for(int num:A) { System.out.println(num); } } }
上述內(nèi)容就是Java中怎么實(shí)現(xiàn)基數(shù)排序,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:Java中怎么實(shí)現(xiàn)基數(shù)排序
轉(zhuǎn)載注明:http://www.chinadenli.net/article22/iejicc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站策劃、自適應(yīng)網(wǎng)站、Google、做網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)