字符串匹配 KMP(模板)

来源:互联网 发布:手机文档翻译软件 编辑:程序博客网 时间:2024/06/05 06:54

电脑准备重装一波,把模板都发一下

struct KMP{int a[1000100];int b[11111];int n,m;int nextval[11111];void init(){memset(nextval,0,sizeof(nextval));}void get_next()                       //next跳表{for(int i=1;i<m;i++){int j=nextval[i];while(j&&b[j]!=b[i])j=nextval[j];nextval[i+1]=b[i]==b[j]?j+1:0;}}int find_aim()                        //匹配长度{int j=0;for(int i=0;i<n;i++){while(j&&b[j]!=a[i]) j=nextval[j];if(b[j]==a[i]) j++;if(j==m) return i-m+2;}return -1;}}T;


原创粉丝点击