kmp模板

来源:互联网 发布:天书世界宝塔建造数据 编辑:程序博客网 时间:2024/06/06 19:33
void getnext(){memset(nex,0,sizeof(nex));nex[0]=-1;int j=-1,k=0;int len=strlen(t);while(k<len){if(j==-1||s[j]==s[k]){j++;k++;nex[k]=j;}elsej=nex[j];}}void kmp(){int i,j;i=j=0;int ans=0;int len=strlen(t),len1=strlen(s);while(i<len){if(j==-1||s[j]==t[i]){i++;j++;}elsej=nex[j];if(j==len1){ans++;//j=nex[j];可重叠匹配j=0;//不可重叠匹配}}}

0 0