基數(shù)排序的代碼

接上一篇文章肄满,還是那個(gè)題目,用基數(shù)排序來實(shí)現(xiàn)智政。不足之處希望各位前輩指正

題目:給定一個(gè)int數(shù)組A及數(shù)組的大小n认罩,請(qǐng)返回排序后的數(shù)組。保證元素均小于等于2000续捂。

測(cè)試樣例:
排序前[1,2,3,5,2,3],6
排序后[1,2,2,3,3,5]

9.基數(shù)排序
<code>
import java.util.*;
public class RadixSort {
public int[] radixSort(int[] A, int n) {
// write code here
if(null==A||n<=1)
return A;
radix(A,10,3,n);
return A;
}
private void radix(int[] A, int radix, int d,int n){//傳入的d為3(考慮分解為個(gè)位十位百位)
int[] temp = new int[n];//臨時(shí)數(shù)組
int[] buckets = new int[radix];//radix為10,按10進(jìn)制拆分(10個(gè)桶)
//循環(huán)中rate用于保存當(dāng)前計(jì)算的位,十位時(shí)rate=10
for(int i=0,rate=1;i<d;i++){//
Arrays.fill(buckets,0);//buckets數(shù)組中全部為0
System.arraycopy(A,0,temp,0,n);//將A中元素復(fù)制進(jìn)臨時(shí)數(shù)組緩存
for(int j=0;j<n;j++){
//計(jì)算數(shù)據(jù)指定位上的子關(guān)鍵字
int subKey = (temp[j]/rate)%radix;
buckets[subKey]++;
}
for(int j=1;j<radix;j++){
buckets[j] = buckets[j]+buckets[j-1];
}
//按子關(guān)鍵字對(duì)指定數(shù)據(jù)進(jìn)行排序
for(int m=n-1;m>=0;m--){
int subKey = (temp[m]/rate)%radix;
A[--buckets[subKey]] = temp[m];
}
rate *= radix;
}
}
}
</code>
補(bǔ)充說明:排序算法是否穩(wěn)定指的是數(shù)組中重復(fù)元素在排序前后的相對(duì)位置是否發(fā)生改變垦垂,若不改變則算法穩(wěn)定,否則不穩(wěn)定牙瓢。

穩(wěn)定的排序算法有:冒泡排序劫拗、插入排序、計(jì)數(shù)排序矾克、基數(shù)排序和歸并排序
不穩(wěn)定的排序算法有:選擇排序页慷、快速排序、希爾排序和

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市酒繁,隨后出現(xiàn)的幾起案子滓彰,更是在濱河造成了極大的恐慌,老刑警劉巖欲逃,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異饼暑,居然都是意外死亡稳析,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門弓叛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彰居,“玉大人,你說我怎么就攤上這事撰筷〕露瑁” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵毕籽,是天一觀的道長(zhǎng)抬闯。 經(jīng)常有香客問我,道長(zhǎng)关筒,這世上最難降的妖魔是什么溶握? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蒸播,結(jié)果婚禮上睡榆,老公的妹妹穿的比我還像新娘。我一直安慰自己袍榆,他們只是感情好胀屿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著包雀,像睡著了一般宿崭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上才写,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天劳曹,我揣著相機(jī)與錄音,去河邊找鬼琅摩。 笑死铁孵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的房资。 我是一名探鬼主播蜕劝,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了岖沛?” 一聲冷哼從身側(cè)響起暑始,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎婴削,沒想到半個(gè)月后廊镜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唉俗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年嗤朴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虫溜。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雹姊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出衡楞,到底是詐尸還是另有隱情吱雏,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布瘾境,位于F島的核電站歧杏,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏迷守。R本人自食惡果不足惜得滤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盒犹。 院中可真熱鬧懂更,春花似錦、人聲如沸急膀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卓嫂。三九已至慷暂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晨雳,已是汗流浹背行瑞。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留餐禁,地道東北人血久。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓五续,卻偏偏與公主長(zhǎng)得像斑粱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怀樟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 總結(jié)一下常見的排序算法。 排序分內(nèi)排序和外排序筑舅。內(nèi)排序:指在排序期間數(shù)據(jù)對(duì)象全部存放在內(nèi)存的排序座慰。外排序:指在排序...
    jiangliang閱讀 1,343評(píng)論 0 1
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,744評(píng)論 0 33
  • 某次二面時(shí)翠拣,面試官問起Js排序問題版仔,吾絞盡腦汁回答了幾種,深感算法有很大的問題误墓,所以總計(jì)一下蛮粮! 排序算法說明 (1...
    流浪的先知閱讀 1,192評(píng)論 0 4
  • 免提閱讀 146評(píng)論 0 0
  • 我住的宿舍區(qū)離體育場(chǎng)跑道很遠(yuǎn)优烧,但是有一塊大草坪蝉揍,我們這個(gè)宿舍區(qū)的同學(xué)大多都圍著這個(gè)草坪跑步链峭。 每天晚上畦娄,從大概7點(diǎn)...
    紅茶鯊閱讀 436評(píng)論 0 0