标签:模式 结构 str 返回 返回值 字符 位置 ++ 指针
BF算法 考试必考 !!!!!背下来!!!!
int lndex_BF(string s,string t,int pos)
{//返回模式t在主串s中第pos个字符开始第一次出现的位置下标
//若不存在,则返回值为-1
//其中,t非空,1<=pos<=StrLength(s)
int i,j;
i = pos-1;//下标
j = 0;//下标
while(i<s.length()&&j<t.length()){
if(s[i] == t[j]) {
++i; ++j;
if(j == t.length()-1){
if(t[j] != s[i]) return -1;}
else continue;
}//继续比较后续字符
else
{
i=i-j+1;
j=0;
}//指针后退重新开始匹配
}
if(j == t.length()) return i-t.length()+1;//模式串全部读完,表示匹配,返回开始匹配位置的下标
else return -1;
}
数据结构 第4章 串、数组和广义表 单元小结(1)重点 BF算法
标签:模式 结构 str 返回 返回值 字符 位置 ++ 指针
原文地址:https://www.cnblogs.com/snowlxy/p/10809025.html