![]() ![]()
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 } |