Re: [問題] 二維陣列依次按行進行排序

看板java作者 (小安)時間18年前 (2007/10/24 11:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《hanhsiang (阿翔)》之銘言: : 欲使用上述之指令依照2維陣列的行進行列元素的排序,但似乎無法保留前面 : 已經排序結的結果。 : 1 2 3 1 2 3 1 1 4 1 1 4 : 2 3 5 1 1 4 1 2 3 1 2 3 : 2 3 1 → 2 3 5 → 2 1 4 → 2 1 4 : 2 1 4 2 3 1 2 3 5 2 3 1 : 1 1 4 2 1 4 2 3 1 2 3 5 : (原始) (依1st行)(依2nd行)(依3rd行) : 依照1st行排序後,下一步希望能保留1st行的排序結果(即在第一行元素為1之列中 : 進行第二行之排序),依此類推,不知該如何進行?謝謝~~ 這樣的做法理論上是可行,但是實作上卻過於複雜且不切實際 在這個例子中你應該從 3rd 開始排序,並且使用 stable 的排序演算法 直到排序到 1st 後,就會得到你想要的東西, 而這樣的概念與某一個排序演算法幾乎完全一樣, 只是該演算法不是二維陣列,而是將每一列視為一個數字。 這個演算法的名字我不太確定是不是 RadixSort,如果有錯還請大家指正。 註: 關於 stable 的意思建議你先去查一下。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.239

10/24 13:31, , 1F
應該是Bucket Sort, Radix Sort只是把每一位視為bucket
10/24 13:31, 1F
文章代碼(AID): #177iCiXy (java)
文章代碼(AID): #177iCiXy (java)