BF算法是普通的模式匹配算法,算法思想是将目标串的第一个字符与模式串的第一个字符进行比较,若相等,则继续比较目标串和模式串的第二个字符,若不相等,则比较模式串的第二个字符和目标串的第一个字符,一次比较下去,直到得出最后的匹配结果,BF算法是一种蛮力的算法。
int BF(char *str,char *sub,int pos)
{
assert(str!=NULL&&sub!=NULL);
int i =pos;
int j =0;
while(str[i]!='\0'||sub[j]!='\0')
{
if(str[i]==str[j])
{
++i;
++j;
}
else
{
i= i - j +1;
j = 0
}
}
if(sub[j]=='\0')
{
return i-strlen(sub);
}
return -1;
}