c++字符串匹配BF算法
时间: 2023-11-21 16:04:27 浏览: 135
C++实现字符串匹配BF算法是一种基本的模式匹配算法,其思想是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法,时间复杂度为O(n*m),其中n为目标串S的长度,m为模式串T的长度。
以下是C++实现字符串匹配BF算法的代码示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int BF(string s, string t) {
int i = 0, j = 0;
while (i < s.length() && j < t.length()) {
if (s[i] == t[j]) {
i++;
j++;
} else {
i = i - j + 1;
j = 0;
}
}
if (j == t.length()) {
return i - j;
} else {
return -1;
}
}
int main() {
string s = "hello world";
string t = "world";
int pos = BF(s, t);
if (pos != -1) {
cout << "匹配成功,位置为:" << pos << endl;
} else {
cout << "匹配失败" << endl;
}
return 0;
}
```
阅读全文