BF(Brute-Force)算法
蠻力搜索,比較簡單的一種字符串匹配算法,在處理簡單的數據時候就可以用這種算法,完全匹配,就是速度慢啊。
基本思想
從目標串s 的第一個字符起和模式串t的第一個字符進行比較,若相等,則繼續逐個比較后續字符,否則從串s的第二個字符起再重新和串t進行比較。
依此類推,直至串t 中的每個字符依次和串s的一個連續的字符序列相等,則稱模式匹配成功,此時串t的第一個字符在串s 中的位置就是t 在s中的位置,否則模式匹配不成功。
具體實現
int BFindex(String S, String T) { if (S.size() < 1 || T.size() < 1 ) return -1; int i = 0, j = 0; while (i < S.size() && j < T.size()) { if (S[i] == T[j]) { ++i; ++j; } else { i = i- j+ 2; j = 1; } } if(j > T[0]) return i - T[0]; return ERROR; }