模式匹配的定义:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200212203411400.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNTg3NzQw,size_16,color_FFFFFF,t_70)
实现代码:
int Index(SString S,SString T,int pos){
int i = pos,j = 1;
while(i <= S.length && j <= T.length){
if(S.ch[i] == T.ch[j]){
i ++;
j ++;
}
else{
i = i - j + 2;
j = 1;
}
if(j > T.length)
return i - T.length;
else
return 0;
}
}
为什么是i - j + 2?
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200212204927219.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNTg3NzQw,size_16,color_FFFFFF,t_70)