![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - 高手請教VB6程式,兩個字串比較,程式碼如何作執行速度才會快
(https://www.pcdvd.com.tw/showthread.php?t=858377)
|
|---|
高手請教VB6程式,兩個字串比較,程式碼如何作執行速度才會快
假設我有兩個字串分別叫text1,text2
text1的字串ABDEFGTDEFGHJK... text2的字串ABCEFDTDEFGHJK... 如果以text1為主 可以發現text2的字串與text1字串不一樣 分別是第三個字母及第六個字母 請問要如何把兩個字串作比較 並將第三個及字母與第六個及字母顯示出來 如何作速度才會快呢? 當然啦! 如果要一個字,一個字的比對 要比對的資料少 當然是差不多時間 但是當資料多時 時間就會差很多了 麻煩一下,謝謝 |
引用:
並將第三個及字母與第六個及字母顯示出來!! 這表示你要得到的結果不是一各數值,而是ㄧ各類似二維陣列包含位置與字母. 我認為這個答案應該還是要用迴圈去寫. 資料量夠大又在乎速度的話,用c去寫dll吧!! |
字串比對都是呼叫函數做了..
如果資料量很大又很在乎速度.. 那就是把字串切成幾份.. 每一份用執行緒去跑.. 在多核心的CPU有可能會變快.. |
引用:
沒錯 小弟就是想用切的 現在的問題 就是要怎麼切 請問一下 有沒有什麼方式 怎麼切的比較好 謝謝 |
RtlMoveMemory string -> byte() + array 比對
VB6就甭提多執行緒了。 |
每個人寫程式有自己的習慣,風格與思維架構,
建議樓主先提出你的寫法,再讓大家集思廣益,看如何改善? |
引用:
改 shell sort ? |
引用:
丟固定位元到陣列裡面,針對兩個陣列下去比對....然後標記 這只是想法.....作法當然是.....自己想 這一篇可以請大家看看 程式人員的面試心得及基本原則 通常在這個時候......會有很多人會上來問程式問題的 因為.......學期末了嘛! 我會對這時候還在有著想要在網路上問作業的學生們說 如果學的不好,就再修一次吧 如果不想學,就不要再修了 |
引用:
就一段一段切..一段多大要測試.. 一開始一段可以先切大塊一點.. 引用:
很中肯 |
引用:
你舉的例子看不出你的需求到什麼地步,如果字串都這麼理想的話,那一個一個去對就好了。 text1[0], text2[0] text1[1], text2[1] text1[2], text2[2] ... 如果是更複雜的情形,比較 abcccdfe, bajdcccaadef 的相似度,那就複雜許多,可以去 google "edit distance" |
| 所有的時間均為GMT +8。 現在的時間是06:58 PM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2026。