BF算法:
BF算法的实现思想:我们可以定义两个索引值i和j,分别指示主串str和子串sub当前正待比较的字符位置,从主串str的第pos个字符起和子串sub的第一个字符比较,若相等,则i++,j++,否则从主串str回到上次匹配开始的下一个位置即i-j+1,子串回到0号位置,重复执行,直到子串sub中的每个字符依次和主串str中的一个连续字符串相等,则匹配成功,函数返回该连续字符串的第一个字符在主串str中的位置,否则匹配不成功,函数返回-1。
代码实现:
int BF(const char *str,const char *sub,int pos)//pos为主串位置
{
assert(str != NULL&& sub!=NULL);
int i = pos;
int j = 0;
int lens = strlen(str);
int lensub = strlen(sub);
while (j <