bf字符串匹配算法c++
时间: 2023-11-13 12:58:15 浏览: 114
串匹配C++代码
BF字符串匹配算法(Brute Force)是一种简单的模式匹配算法,也称为朴素匹配算法。它的思想是从主串的第一个字符开始,依次与模式串的每个字符进行比较,如果匹配成功,则继续比较下一个字符,否则主串的指针后移一位,重新从主串的下一个字符开始与模式串进行匹配。这个过程一直持续到主串的末尾或者匹配成功为止。
以下是BF字符串匹配算法的C++代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
int BF(string s, string p) {
int i = 0, j = 0;
while (i < s.length() && j < p.length()) {
if (s[i] == p[j]) {
i++;
j++;
} else {
i = i - j + 1;
j = 0;
}
}
if (j == p.length()) {
return i - j;
} else {
return -1;
}
}
int main() {
string s = "hello world";
string p = "world";
int pos = BF(s, p);
if (pos != -1) {
cout << "匹配成功,位置为:" << pos << endl;
} else {
cout << "匹配失败" << endl;
}
return 0;
}
```
阅读全文