C语言数据结构中关于void get_next() 一点问题 会的麻烦帮忙看下,谢谢
求next函数的void get_next(SString T,int next[])
{
i=1;next[1]=0;j=0;
while(i<T[0]){
if(j==0||T[i]==T[j])
{++i;++j;next[i]=j;}
else j=next[j];
}
}
1.这题中的, while(i<T[0]) T[0],是什么?它的值又是什么?怎么可以用i来循环的?
2 ,if(j==0||T[i]==T[j]){++i;++j;next[i]=j;}这里,|| 是或符号么,若是或的话,若T[2]=T[2], next[3]=3;T[3]!=T[4] 之后呢,循环是怎样继续处理的?,这条if语句该怎么分析?
那个 要是懂的话 , 希望能给那代码都注释一下,谢谢了啊。