※ 引述《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
10/24 13:31, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):