0 : Status IndexBF(SString S,SString T,int pos){
1 : //返回串T在主串S中第pos个字符之后的位置。若不存在
2 : //则函数返回0;其中,T非空,1<=pos<=StrLength(S)
3 : i=pos; j=1;
4 : While(i<=s[0] && j<=T[0]){ //注:S[0]和T[0]分别存放其字符串长度
5 : if(S[i]==T[j])
6 : {i++; j++;}
7 : else
8 : {i=i-j+2; j=1} //当发现不匹配时,i返回前一次匹配
9 : } //的起始字符的后续字符,j返回第一个字符。
10: if(j>T[0])
11: return i-T[0]; //匹配成功,返回相应位置
12: else
13: return 0;
14: } //IndexBF
- 1
- 2
前往页