BF暴力查找法
算法思想:
s1主串abcdefghellohehe
s2子串helllo
从主串s1的pos位置出发,与子串s2第一位进行匹配
若相等,接着匹配后一位字符 若不相等,则返回到s1前一次匹配位置的后一位,接着与s2的起始位进行匹配
直到与s2全部匹配成功,则返回在s1中开始完全匹配的下标
代码部分
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1 = "xabcdeabcdefg";
string s2 = "-abcde";
int M=s1.size();
int N=s2.size();
int i;
for(i=0;i<=M-N;i++){
int cnt=0;
for(int j=0;j<N;j++){
if(s1[i+j]!=s2[j]){
break;
}else{
cnt++;
}
}
if(cnt==N){
cout<<i<<endl;
}
}
if(i>M-N){
cout<<"没有找到";
}
return 0;
}