数据结构- 串的模式匹配算法: KMP算法

https://blog.csdn.net/hguisu/article/details/7676786

1、KMP算法求解什么类型问题?

字符串匹配。给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置。

2、完整的KMP算法

#include 

using namespace std;

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define OVERFLOW -2

#define MAXSTRLEN 100

typedef char SString[MAXSTRLEN+1];

//SString example  等价于定义 char example[MAXSTRLEN+1];

void GetNext(SString T,int next[])
{
    int i=1,j=0;
    next[1]=0;
    while(iS[0])  exit(OVERFLOW);
    int i=pos,j=1;
    int next[MAXSTRLEN];
    GetNext(T,next);
    while(i<=S[0]&&j<=T[0])
    {
        if(S[i]==T[j])
        {
            

你可能感兴趣的:(算法)