next[j]的理解

//求next[j]的算法算法

void getNext(T,next[j]){code

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的状况 

}

}get

相关文章
相关标签/搜索