BF:
int BF(SString S,SString T){
int k=1,i=1,j=1;//k用来记录当前主串遍历位置;i当做主串游标,j为模式串游标
while(i<=S.length&&j<=T.length){
if(S.ch[i]==T.ch[j]){
i++;
j++;
}else{//发生失配时,主串标记位置向后移一位,把k的值赋给i和j再从头开始比对
k++;
i=k;
j=1;
}
}
}
学习链接
未完待续…