用于字符串的模式匹配。是一种简单的、普通的、暴力的模式匹配算法(当然是相对于KMP来说)
BF算法,即暴风(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。
核心:i = i - j + 2, j = 1
int Index(SString S,SString T){
int i=1,j=1;
while(i<=str_len(S)&&j<=str_len(T)){
if(S[i]==T[j])
{++i;++j;} //继续比较后继字符
else
{i=i-j+2;j=1;}//指针后退重新开始匹配
}
if(j>len(T)) return i-str_len(T);
else return 0;
}