串的朴素模式匹配算法
模式匹配
主串:S=‘abcdefg’
子串:‘abc’ , ‘efg’ //子串一定是主串中存在的
模式串:‘cde’ ,‘ifg’ //模式串是想要在主串中找到的,未必存在
串的模式匹配: 在主串中找到与模式串相同的子串,并返回其所在的位置
int Index(SString S,SString T){
int k=1; //使用变量k来表示当前取出子串的起始位置
int i=k,j=1; //使用i和j来分别指向两个串的对应位置
while(i<=S.length&&j<=T.length){
if(S.ch[i]==T.ch[j]){
++i;
++j; //继续比较后继字符
} else{
k++; //检查下一个子串
i=k;
j=1;
}
}
if(j>T.length)