注册 登录
编程论坛 数据结构与算法

关于kmp的一个函数的问题~~~

小真丁丁 发布于 2010-01-09 16:44, 943 次点击
int NextPos(char * T, int j)

{
     for(int start=1;start<j+1;start++)
      {
          for(int x=0;x<=j-start-1;x++)

            {
                 if (T[x]==T[start+x])

                     continue;
                 else

                      break;
            }
          if (x== j-start )   //表明前k-1个已经匹配上。
          {

                 if (T[ j-start ] != T[ j ])

                 return j-start;

          }
       }
   return -1;

}

红色字体为何意啊~~
谢谢各位了
2 回复
#2
落在秋天的叶2010-01-18 15:55
太难~`建议看李春葆的书。。比较通俗易懂。。看了很多遍用的不多,又忘了
#3
xinjinlong2010-01-19 18:43
前面的K-1个匹配了单身地K个没有匹配,那么下次直接从地K个开始比较,不用在回溯,这就是kmp的好处
1