網路城邦
上一篇 回創作列表 下一篇   字體:
筆順排序實作的技巧
2010/05/21 10:28:50瀏覽2282|回應5|推薦49

在中文全字庫網站上面,筆順可用來檢索漢字。在書面上,筆順檢索是否仍然可行呢?答案是肯定的。只是在作法上,不宜直接將筆畫拿來排序,而是必須先將筆畫以數字來代表,稱為「轉為代碼」,之後再針對這些代碼來排序。

若以Excel來實作筆順排序(Stroke order sort),除了「筆順」和「暱稱」兩個欄位,應再增加「代碼」欄,將筆畫轉成代碼的規則是:「一」是1,「丨」是2,「丿」是3,「丶」是4,「乙」是5;例如「喜」字的筆順是(一丨一丨乙一丶丿一丨乙一) ,此處以小括號括起來,進一步轉成代碼將是121251431251

由於排序的結果是要印成書面,是使用者要查看的,排序鍵是代碼欄,因此需要將代碼由左至右,每三位數加一個逗號,如此比較不容易看錯,加上要採字串格式,因此代碼將變成’121,251,431,251。雖然Excel可以自動為數值每三位數標上一個逗號,但卻是由右往左標起,因此不適合用於筆順排序。

接著將列出筆順排序的實例,每一筆資料包含代碼、筆順和暱稱等三項,如下所示:

'11    (一一)         二泉印月

'112,112,515        (一一丨一一丨乙一乙)         ☆珂玼☆天生的不平等!

'112,113,2        (一一丨一一丿丨)         弄潮兒 

'121,15    (一丨一一乙)         巧巧來了 

'121,251,431,251    (一丨一丨乙一丶丿一丨乙一) 喜.LOVE 

'121,315  (一丨一丿一乙)         老宅男 /美網賽莊佳容 彭帥 女雙爭冠 

'121,551,21        (一丨一乙乙一丨一)         亞希淇是一隻絕不搞笑的俏狐狸 

'122,543,112        (一丨丨乙丶丿一一丨)         南寒寂

'123,425,111,353,3 (一丨丿丶丨乙一一一丿乙丿丿)         楊若林(賞文)

'125,351,154,353,54       (一丨乙丿乙一一乙丶丿乙丿乙丶) 酸柳丁 

'125,353,53        (一丨乙丿乙丿乙丿)         協理

'134 (一丿丶)         大羅府

'134,252,343,434,341,121,4        (一丿丶丨乙丨丿丶丿丶丿丶丿丶一一丨一丶)         。璽兒。

'145,244,343,111,211,1   (一丶乙丨丶丶丿丶丿一一一丨一一一)   

'211,125,444,4        (丨一一一丨乙丶丶丶丶) 馬蹄 

'211,211,54        (丨一一丨一一乙丶)         芸之

'211,225,111,345,444     (丨一一丨丨乙一一一丿丶乙丶丶丶)      -慕橙-

'211,225,134        (丨一一丨丨乙一丿丶)         英爵 

'211,231,251,112,1 (丨一一丨丿一丨乙一一一丨一)         董哥

'211,235,445,311,234     (丨一一丨丿乙丶丶乙丿一一丨丿丶)      蔡頭伯

'251,125,113,511    (丨乙一一丨乙一一丿乙一一) 閒雜人等 

'251,211,221,34      (丨乙一丨一一丨丨一丿丶)      異色 

'251,214,122,151,234     (丨乙一丨一丶一丨丨一乙一丨丿丶)      蝶非

'251,214,211,125,444,4  (丨乙一丨一丶丨一一一丨乙丶丶丶丶)   螞蟻蝴蝶

'251,214,544        (丨乙一丨一丶乙丶丶)         思于

'252,412,512,525,1 (丨乙丨丶一丨乙一丨乙丨乙一)         嵩麟淵明 

'311,222,214,444    (丿一一丨丨丨丨一丶丶丶丶) 【無  言】 

'312,342,511        (丿一丨丿丶丨乙一一)         香香美代子 

'323,434,251        (丿丨丿丶丿丶丨乙一)         俗客 

'325,11     (丿丨乙一一)         白面書生

'341,124,31        (丿丶一一丨丶丿一)         金戈戈 

'343,123,4        (丿丶丿一丨丿丶)        采芯雁 

'344,312,343,33      (丿丶丶丿一丨丿丶丿丿丿)      彩虹心靈花園 

'344,345,454,435,4 (丿丶丶丿丶乙丶乙丶丶丿乙丶)         愛的大大 

'351,251,214        (丿乙一丨乙一丨一丶)         風的心聲 

'352,513,544,554    (丿乙丨乙一丿乙丶丶乙乙丶) 逸名 

'411,125,143,143,153,445,54        (丶一一一丨乙一丶丿一乙丿丶丶乙乙丶)      otivia

'411,125,143,151,122,34        (丶一一一丨乙一丶丿一乙一一丨丨丿丶)      謙水 

'411,125,155,444,455,444,445,44 (丶一一一丨乙一乙乙丶丶丶丶乙乙丶丶丶丶丶乙丶丶)      戀戀 風塵 

'413,123,512,353,251,213,554      (丶一丿一丨丿乙一丨丿乙丿丨乙一丨一丿乙乙丶)        魔鬼ㄅㄚˇ拔

'413,242,513,5        (丶一丿丨丶丨乙一丿乙)   (祝福滿滿) 

'413,443,113,425,1 (丶一丿丶丶丿一一丿丶丨乙一)          

'424,341,251        (丶丨丶丿丶一丨乙一)         恰恰: 艋舺 怎麼變小了?

'431,121,134        (丶丿一一丨一一丿丶)         美賢 

'431,121,431,251    (丶丿一一丨一丶丿一丨乙一) 善容居士

'444,121  (丶丶丶一丨一)         江依萍

'444,121,54        (丶丶丶一丨一乙丶)         法蘭客

'444,251,125,112,511     (丶丶丶丨乙一一丨乙一一丨乙一一)        

'444,315,544,1        (丶丶丶丿一乙乙丶丶一) 海拉

'444,352,512,144,44       (丶丶丶丿乙丨乙一丨一丶丶丶丶) 漁樵子(笑口常開)

'444,353,112,52      (丶丶丶丿乙丿一一丨乙丨)      淘氣麗莎 

'444,354,251        (丶丶丶丿乙丶丨乙一)         洛城早安

'445,211,225,111,354     (丶丶乙丨一一丨丨乙一一一丿乙丶)      寬心 

'534 (乙丿丶)         小奕(《櫻子》真好看!) 

'551 (乙乙一)         子甯 

'553,4      (乙乙丿丶)  

'554,444,535,215    (乙乙丶丶丶丶乙丿乙丨一乙) 絕塵詩雨  詩╱韻開了情紋(詩集再版)

  將筆順轉成代碼,規則很簡單,假設要查「酸柳丁」,可以直接寫出「酸」字的代碼'125,351,154,353,54,或者先寫出筆順(一丨乙丿乙一一乙丶丿乙丿乙丶) ,再寫出代碼 '125,351,154,353,54,如此即可快速找到欲查的「酸柳丁」。

  本文所列的測試資料只有五十多筆,而且都是認得的字,用注音排序顯然最適合;但如果資料多達五千多筆,或五萬多筆,裡面有很多不會念的字,或有很多不知其部首的字,用注音排序或部首排序皆不適合。如果採用筆畫數排序,檢索的效果將不如筆順排序;但有一個前題,即使用者要懂得寫字的筆順。

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:http://classic-blog.udn.com/article/trackback.jsp?uid=glwang&aid=4053201

 回應文章

王絹絹
等級:7
留言加入好友
不過
2010/05/24 07:54
筆順真的很重要喔!尤其是中文字,否則就像「劃」字了!
王國良(阿國)(glwang) 於 2010-05-24 17:22 回覆:

  筆順真的很重要,它包含筆畫和順序,寫書法時,就很講究筆順了。如果大家在寫字時,都能使用相同的筆順,不只適合人來閱讀,也適合機器做處理,包括排序與搜尋等等,謝謝王絹絹格友的回應。


思于
等級:8
留言加入好友
對我來說
2010/05/23 21:16

這就有點麻煩啦

有點混亂哩

讓年輕人去試吧

王國良(阿國)(glwang) 於 2010-05-24 17:19 回覆:

  看到一堆代碼,會覺得很難,但它和筆畫是一對一的關係。寫字大家都會用正確的筆畫,但寫各筆畫的順序,可能不盡相同,這是需要統一的地方,還好全字庫網站可以查筆順,謝謝思于老師的回應。


法蘭客.有糾紛?找調解會!書介
等級:8
留言加入好友
有看沒有懂?
2010/05/22 23:09

上了年紀,學習新事物的行動也變得遲緩了!

不過有看到自己的睨稱在文裡,本來還蠻高興滴....

但為什麼一開頭就是444?!

年紀大的有忌諱啦!

王國良(阿國)(glwang) 於 2010-05-24 17:17 回覆:

  將漢字直接寫成代碼較難,但如果先寫出筆畫,再寫成代碼,則較容易。另外,國人不喜歡4這個數字,尤其是當連續出現時,更是不佳。但因筆順是中文既有的一種檢索方法,代碼已經既定,如果本文要跳過4這個數字,將無法和別處相容,謝謝法蘭客格友的回應。


愛的大大
等級:7
留言加入好友
哇 太厲害了
2010/05/22 21:16
阿國的正職是老師嗎   
王國良(阿國)(glwang) 於 2010-05-24 17:16 回覆:

  謝謝愛的大大格友的回應,筆者過去曾任教職,但目前已經退休了,所以有時間來寫作,希望大家喜歡這個部落格。


☆珂玭☆
等級:8
留言加入好友
很棒的功能!說不定以後可以出書呢。
2010/05/21 23:01

哈哈,☆珂玼☆可是排前面當範例呢,謝謝 阿國!
王國良(阿國)(glwang) 於 2010-05-22 09:25 回覆:
  謝謝珂玼格友的回應與稱讚,恭喜您的暱稱在本文的範例裡排在最前面。過去我不知筆順檢索好用,自從發現之後,可說愛不釋手,因為規則很簡單,很容易學會,是用來檢索「難字」的利器,不知微軟有沒有提供筆順輸入法?如果沒有的話,建議應趕快提供。至於出書,目前還沒有想過。