修正版求KMP中next值求法

来源:互联网 发布:福鼎市小鹿网络 编辑:程序博客网 时间:2024/05/20 19:15

S='aaabaaabaaabaaabaaab'
T='aaaab'
next[j]=01234
修正:
nextval[j]=00004
//修正next后算法
void get_nextVal(SString &T,int &next[]){
//求模式串T的next函数值班差存入数组next.
i=1;next[1]=0;j=0;
while(i<T[0]){//i小于T数组长度
if(j=0||T[i]=T[j])
{++i;++j;
 if(T[i]!=T[j])next[i]=j;
 else nextVal[i]=nextVal[j];
 }
else j=next[j];
}//get_nextVal
}

原创粉丝点击