上一篇博客中使用字符串的其他操作,完成了在主串S中查找子串T,并返回T首字母在S中的位置,今天这片博客主要介绍,不使用字符串操作的情况下,仅使用数组完成上述操作的算法,又称为字符串的朴素模式匹配算法。
假设,主串S和子串T的长度分别存在S[0]和T[0]中,实现代码如下所示:
int Index(string S, string T,int pose)
{
int i=1;
int j=1;
while(i<=s[0]&&j<=T[0])
{
if(s[i]==j[j]){i++; j++;}
else {i=i-j+2; j=1;}
}
if(j>=T[0]) return i-T[0];
else return 0;
}