返回

KMP 求next的值(下标从一开始的)

发布时间:2022-12-08 09:46:44 275
#include
#include
#include
using namespace std;
int next[100];
int Next(char a[],int n)
{
int i,j;
next[1]=0;
next[2]=1;
for(i=3;i<=n;i++)
{
j=next[i-1];
while(j!=0 && a[i-1]!=a[j])
{
j=next[j];
}
next[i]=j+1;
}
return 0;
}
int main()
{
int i;
int nn;
char a[100];
while(cin>>nn)
{
for(i=1;i<=nn;i++)
cin>>a[i];
Next(a,nn);

for(i=1;i<=nn;i++)
cout<<next[i]<<" ";
// cout<<next[i]<<endl;
}
return 0;
}

 

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
骨牌铺方格 2022-12-08 09:08:10