//求next[j]的算法
void getNext(T,next[j]){
int j=1;
k=0;//最长相等值
next[0]=-1;//为了好计算 ,故这样设值
next[1]=0;//第二个元素前的next[1]必等于0
while(j<T.length-1){//因为每次求得的是next[j+1],顾而
if(T.str[j]==T.str[k]){
next[j+1]=k+1;
j++;
k++;
}
else if(k==0){
next[j+1]=0;
j++
}
else
k=next[k];//k不等于0的情况
}
}