→ VictorTom:先依照字母排序資料, 然後再就每一組字母內的數字排序不 06/22 22:00
→ VictorTom:就得了?? 先排出 BB E F G HHH M NN // 隨便亂舉例的. 06/22 22:01
→ VictorTom:再對有重複字母的項目計次, 只排序裡面的數字.... 06/22 22:01
→ VictorTom:另一個方法, 如果數字都小於100, 字母也都只有一個.... 06/22 22:02
→ VictorTom:把每一筆資料變成 字母x100 + 數字; 字母要如何轉成數字 06/22 22:03
→ VictorTom:來乘100?? 看你要用ASCII code直接乘, 或者把每個字母重 06/22 22:03
→ VictorTom:新對應成一個數字, 如A=0, B=1, C=2等, 就可以對這個換 06/22 22:04
→ VictorTom:算後的數字直接排序了; 結論, 先問問你自己, 給你這些 06/22 22:04
→ VictorTom:資料, 你自己用大腦用紙筆算, 會怎樣排, 再想如何程式化 06/22 22:05
→ VictorTom:剛沒注意到字母的priority, 不過就上面的兩種方法來說也 06/22 22:06
→ VictorTom:不難轉換; 先把字母依priority給它另一個代表值來比大小 06/22 22:06
→ VictorTom:之後再挑一個方法來排序應該就可以了....@_@" 06/22 22:07
推 VictorTom:對了, 如果您懂得什麼叫做stable的sort, 只要使用stable 06/22 22:26
→ VictorTom:的sorting algorithm, 那麼先對數字做排序, 然後再依字 06/22 22:27
→ VictorTom:母的priority排序一次, 理論上問題就解決了.... 06/22 22:27
→ VictorTom:上面是google到的中文簡介sort的網頁, 看您有沒有需要XD 06/22 22:28
→ windincloud:這個應該就直接用Radix sort就解決吧~ 06/23 00:53
→ windincloud:詳細的說應該是將Radix sort想法應用上去~做法如v大後 06/23 00:58
→ windincloud:三句所說~ 06/23 00:58
→ softwind:作業自己做sort 工作請用qsort兩次 即可 06/23 01:44
→ softwind:int sortBy(const char *pL, const char *pR){ 06/23 01:53
→ softwind: return pL[0]*100+pL[1] - pR[0]*100+pR[1]; 06/23 01:53
→ softwind:} //end 06/23 01:53
推 leslieha:利用(字母 x 數值) 遞增排序 06/23 13:06
→ leslieha:耶...好像不行 06/23 13:07