![]() |
||
|
*停權中*
加入日期: Aug 2004
文章: 317
|
高手請教VB6程式,兩個字串比較,程式碼如何作執行速度才會快
假設我有兩個字串分別叫text1,text2
text1的字串ABDEFGTDEFGHJK... text2的字串ABCEFDTDEFGHJK... 如果以text1為主 可以發現text2的字串與text1字串不一樣 分別是第三個字母及第六個字母 請問要如何把兩個字串作比較 並將第三個及字母與第六個及字母顯示出來 如何作速度才會快呢? 當然啦! 如果要一個字,一個字的比對 要比對的資料少 當然是差不多時間 但是當資料多時 時間就會差很多了 麻煩一下,謝謝 |
|||||||
|
|
|
*停權中*
加入日期: Dec 2008
文章: 2
|
引用:
並將第三個及字母與第六個及字母顯示出來!! 這表示你要得到的結果不是一各數值,而是ㄧ各類似二維陣列包含位置與字母. 我認為這個答案應該還是要用迴圈去寫. 資料量夠大又在乎速度的話,用c去寫dll吧!! |
|||
|
|
|
*停權中*
加入日期: Dec 2006
文章: 89
|
字串比對都是呼叫函數做了..
如果資料量很大又很在乎速度.. 那就是把字串切成幾份.. 每一份用執行緒去跑.. 在多核心的CPU有可能會變快.. |
|
|
|
*停權中*
加入日期: Aug 2004
文章: 317
|
引用:
沒錯 小弟就是想用切的 現在的問題 就是要怎麼切 請問一下 有沒有什麼方式 怎麼切的比較好 謝謝 |
|
|
|
|
Junior Member
![]() ![]() ![]() 加入日期: May 2005 您的住址: Autobahn, Deutschland
文章: 743
|
RtlMoveMemory string -> byte() + array 比對
VB6就甭提多執行緒了。 |
|
|
|
*停權中*
加入日期: Jan 2008 您的住址: Ixtlan(伊斯特蘭)
文章: 14
|
每個人寫程式有自己的習慣,風格與思維架構,
建議樓主先提出你的寫法,再讓大家集思廣益,看如何改善? |
|
|
|
*停權中*
加入日期: Apr 2008
文章: 2
|
引用:
改 shell sort ? |
|
|
|
|
Major Member
![]() 加入日期: Oct 2004 您的住址: 高雄的大醫院附近
文章: 216
|
引用:
丟固定位元到陣列裡面,針對兩個陣列下去比對....然後標記 這只是想法.....作法當然是.....自己想 這一篇可以請大家看看 程式人員的面試心得及基本原則 通常在這個時候......會有很多人會上來問程式問題的 因為.......學期末了嘛! 我會對這時候還在有著想要在網路上問作業的學生們說 如果學的不好,就再修一次吧 如果不想學,就不要再修了
__________________
過去的荒唐 好男人壞男人,還不都是你們害的、原來Y拍已經是廠商才能呆的地方了 最近的誑語 [感想]給8點檔的編劇們(三、民)、 [大科技廠]某美面板的cost down、 理論上來說,最極品的妹 |
|
|
|
|
*停權中*
加入日期: Dec 2006
文章: 89
|
引用:
就一段一段切..一段多大要測試.. 一開始一段可以先切大塊一點.. 引用:
很中肯 |
||
|
|
|
Golden Member
![]() ![]() ![]() ![]() 加入日期: Feb 2004 您的住址: 從來處來
文章: 2,766
|
引用:
你舉的例子看不出你的需求到什麼地步,如果字串都這麼理想的話,那一個一個去對就好了。 text1[0], text2[0] text1[1], text2[1] text1[2], text2[2] ... 如果是更複雜的情形,比較 abcccdfe, bajdcccaadef 的相似度,那就複雜許多,可以去 google "edit distance" |
|
|
|