KMP模式匹配 一

来源:互联网 发布:如何修改网络游戏数据 编辑:程序博客网 时间:2024/06/05 00:19
KMP模式匹配 一(串)Time Limit:1000MS    Memory Limit:131072KB    64bit IO Format:%lld & %llu
SubmitStatus

Description

求子串的next值,用next数组存放,全部输出

Input

输入一个字符串

Output

输出所有next值

Sample Input

abaabcac

Sample Output

0 1 1 2 2 3 1 2
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;char  s1[1000]; int len1,next[1000];void getnext(){    int k,j;    len1=strlen(s1);    next[0]=-1;    j=0;    k=-1;    while(j<len1){        if(k==-1||s1[k]==s1[j]){            k++;            j++;            next[j]=k;        }        else            k=next[k];    }    return ;}int main(){  int i;    gets (s1);    getnext();    for(i=0;i<strlen(s1)-1;i++)        cout<<next[i]+1<<" ";        cout<<next[i]+1<<endl;    return 0;}

0 0
原创粉丝点击