Re: 雙層排序問題
※ 引述《yauhh (喲)》之銘言:
: 這小事,只要寫個普通的對應程式,把字母對應為順序號碼:
: enum Letter {
: None = -1,
: B = 0, R,
: O, Y,
: G, L,
: P, W
: };
: enum Letter charToLetter(char ch) {
: switch (ch) {
: default:
: return None;
: }
: }
: 雖然寫得很長,但就是 O(1) 程度,並且可以把不連續資料調整為連續資料.
: 然後在任何 sort 的 compare 函式會看到這樣的程式碼:
媽阿,太累了吧 XD
char a[255] ;
a['B'] = 0 ;
a['R'] = 1 ;
a['O'] = 2 ;
a['Y'] = 3 ;
a['G'] = 4 ;
a['L'] = 5 ;
a['P'] = 6 ;
a['W'] = 7 ;
這樣 a[c] 就知道優先順序啦
而且你講的那個 O(1) 也要 compiler 夠聰明才有,不然還是 O(n)
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.109.130
推
06/25 01:50, , 1F
06/25 01:50, 1F
→
06/25 02:52, , 2F
06/25 02:52, 2F
→
06/25 02:54, , 3F
06/25 02:54, 3F
→
06/25 02:55, , 4F
06/25 02:55, 4F
→
06/25 03:12, , 5F
06/25 03:12, 5F
→
06/25 03:12, , 6F
06/25 03:12, 6F
→
06/25 03:23, , 7F
06/25 03:23, 7F
推
06/25 03:42, , 8F
06/25 03:42, 8F
→
06/26 00:30, , 9F
06/26 00:30, 9F
推
06/26 00:37, , 10F
06/26 00:37, 10F
推
06/26 00:39, , 11F
06/26 00:39, 11F
→
06/26 00:39, , 12F
06/26 00:39, 12F
推
06/26 02:20, , 13F
06/26 02:20, 13F
→
06/26 02:20, , 14F
06/26 02:20, 14F
→
06/26 02:20, , 15F
06/26 02:20, 15F
→
06/26 02:21, , 16F
06/26 02:21, 16F
→
06/26 22:50, , 17F
06/26 22:50, 17F
→
06/26 22:51, , 18F
06/26 22:51, 18F
→
06/26 22:51, , 19F
06/26 22:51, 19F
→
06/26 22:51, , 20F
06/26 22:51, 20F
→
06/26 22:52, , 21F
06/26 22:52, 21F
→
06/26 22:52, , 22F
06/26 22:52, 22F
→
06/26 22:52, , 23F
06/26 22:52, 23F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章