输入主串a,模式b
b在a中的位置
1.在串a和串b中设置比较的下标i=0,j=0;
2.重复下述操作,直到a或b的所有字符均比较完毕:
2.1如果a[i]等于b[i],继续比较a和b的下一对字符;
2.2负责,下标i和j分别回溯,开始下一趟匹配;
3.如果b中所有字符均比较完,则匹配成功,返回本趟匹配的起始位置;负责匹配失败,返回0;
#include<iostream> #define N 100000 using namespace std; char a[N],b[N]; int BF(char a[],char b[])//BF算法 { int i = 0,j = 0;//i,j变量分别表示在主串和模式串的位置 int start = 0;//start记录主串回溯的位置 while(a[i] != '