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

相關文章
相關標籤/搜索