串的模式匹配——Brute-Force算法

时间:2022-02-20 14:42:44

Brute-Force算法的基本思路为:从目标串s=“s0s1...sn-1”的第一个字符开始和模式串t=“t0t1t2...tn-1”中的第一个字符比较,若相等,则继续逐个比较后续字符;

否则从目标串的第二个字符开始重新与模式串t的第一个字符比较。以此类推,若模式串s的第i个字符开始,每个字符依次和目标串t中的对应字符相等,则匹配成功,返回i,否则

匹配失败,算法返回-1。

int index (SqString s,SqString t)
{
int i=0,j=0;
while(i<s.length&&j<t.length)
{ if(s.data[i]==t.data[j])
{
i++;
j++;
}
else
{
i=i-j+1;
j=0;
}
}
if(j>=t.length)
return (i-t.length);
else
return -1; }