数据结构--模式串匹配-BF算法C++(模板类实现)
作者:
AmbitionX
,
2022-05-05 13:56:53
,
所有人可见
,
阅读 259
#include <iostream>
#include <cstring>
using namespace std;
int BF(string S, string T)
{
int start = 0;
int i = 0, j = 0;
while ((S[i] != '\0') && (T[j] != '\0'))
{
if (S[i] == T[j]) { i++; j++; }
else { start ++; i = start; j = 0; }
}
if (T[j] == '\0') return start + 1;
else return 0;
}
int main()
{
string s, t;
cin >> s >> t;
if (BF(s, t) != 0) cout << "匹配的起始位置为: " << BF(s, t) << endl;
else cout << "无法匹配" << endl;
return 0;
}