作者tkcn (小安)
看板java
标题Re: [问题] 二维阵列依次按行进行排序
时间Wed Oct 24 11:59:39 2007
※ 引述《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
1F:推 LPH66:应该是Bucket Sort, Radix Sort只是把每一位视为bucket 10/24 13:31