系列文章目录
一、朴素模式匹配(代码及图示)
#define MaxLEN 255
typedef struct{
char ch[MaxSize];
int length
}SString;
int Index(SString S, SString T)
{
int i = 1 , 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;
}
二、KMP算法求NEXT数组
相比于朴素模式来说,减少了大量的比较。
1.求next数组
求 abaabc 的next 数组 第一位第二位填(0 ,1 )不变