[問題] BucketSort做字串排序(linked list)
小弟要用single linked list寫Bucket Sort來排序字串,
字串的Alphabet={0,1,...,9, A, B,..., Z, a, b,..., z}
0 1 ... 9 10 11 ... 35 36 37 ... 61
排列優先順序是從左到右,
如果我有下面這幾個字串,
the last string, second string, first string, st 7 7 6, st 1 0 3, st 5 5 4
排序之後應該是
first string, second string, st 1 0 3, st 5 5 4, st 7 7 6, the last string
數字的部分很好處理,
讀進來的如果是0,就存到list[0],
讀進來的如果是5,就存到list[5],依此類推。
那字母的部分我就沒有頭緒了,
如果讀進來的是A的話,我要怎麼把A存到list[10]呢?
如果讀進來的是b的話,我要怎麼把A存到list[37]呢?
我目前的想法是讀進來之後,
先去判斷目前的值排在Alphabet這個array的第幾個位置(如n在第n個位置),
然後就將目前的值存在list[n],
不過這個作法看起來有點笨,
不知道有沒有更有效的方法?
希望各位先進看得懂我的問題,
煩請指點迷津,感激不盡。
※ 編輯: HUGOZVC 來自: 208.123.162.2 (11/01 23:40)
推
11/02 01:01, , 1F
11/02 01:01, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):