BF算法是字符串匹配算法最基本的一个算法,其原理是从字符串中的第start个字符起和模式的第一个字符比较,如果相等,则继续逐个比较后续字符,一旦发现不等,则回朔至主串的第start+1个字符位置处,重新比较。算法复杂度为O(n(n-m));
BF算法
int BF_Find(char s[],char t[], int start)
{
int m,n,j,i;
m=strlen(s);
n=strlen(t);
i=start;
j=0;
while(i<m&&j<n)
{
if(s[i]==t[j])
{
i++;
j++;
}
else
{
i=i-j+1;
j=0;
}
}
if(j>=n)
return i-n;
else
return 0;
}