[問題] 字串搜尋問題

看板C_and_CPP (C/C++)作者 (fgets)時間16年前 (2009/08/26 22:18), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
請教一個簡單的問題 char str[][100] = {"apple","dog","cat", ...... }; 假設有上千個字串,現在我有一個字串,char x[] = "haha"; 如果我要找到這個字串在那堆字串裡是第幾個 最基本的做法是 int i = 0; while(strcmp(x,str[i] != 0) i++; 請問有沒有比較快的方法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.135.36

08/26 22:20, , 1F
如果字串有照字典排序, 就可以binary search了....
08/26 22:20, 1F

08/26 22:20, , 2F
不然沒有做hash, 這樣search string應該都很慢@_@"
08/26 22:20, 2F

08/26 22:21, , 3F
話說那個小弟完全不懂的STL裡的Map是不是也行啊?_?
08/26 22:21, 3F

08/26 22:27, , 4F
hash_map或map dictionary不大就用hash_map吧
08/26 22:27, 4F

08/27 09:34, , 5F
map怎麼不能用迴圈慢慢給值= =
08/27 09:34, 5F
文章代碼(AID): #1AbKGy3p (C_and_CPP)
文章代碼(AID): #1AbKGy3p (C_and_CPP)