数据结构字符串匹配BF
时间: 2023-11-20 07:50:55 浏览: 156
数据结构中字符串的匹配
BF算法(Brute Force)又称暴力匹配算法,是一种简单直接的字符串匹配算法。它的基本思想是:从主串的第一个字符开始,依次比较主串和模式串中对应位置的字符,若相等,则继续比较下一个字符;若不相等,则从主串的下一个字符开始,再重新与模式串的第一个字符进行比较,直到找到一个匹配或者主串被完全遍历。
下面是BF算法的C++实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
int BF(string s, string p) {
int i = 0, j = 0;
while (i < s.size() && j < p.size()) {
if (s[i] == p[j]) {
i++;
j++;
} else {
i = i - j + 1;
j = 0;
}
}
if (j == p.size()) {
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;
}
```
阅读全文