zoukankan      html  css  js  c++  java
  • kmp 模版

     1 void get_next(char *str)
     2  {
     3     int len=strlen(str);
     4      next[0]=-1;
     5      int j=0,k=-1;//k记录next[];
     6  
     7      while(j<len)
     8      {
     9          if(k==-1||str[j]==str[k])
    10          {
    11              k++;
    12              j++;
    13              if(str[k]!=str[j])
    14                  next[j]=k;
    15              else next[j]=next[k];
    16  
    17          }
    18          else k=next[k];
    19      }
    20  }
    21  int kmp(char *pattern,char *s)
    22  {
    23  
    24      get_next(pattern);
    25     
    26     
    27        int len=strlen(pattern);//模版串
    28        int slen=strlen(s);
    29         int k=-1, j=0;
    30        
    31          while(k<len&&j<slen)
    32          {
    33              if(k==-1||pattern[k]==s[j])
    34              {
    35                  j++;
    36                  k++;
    37              }
    38              else k=next[k];
    39          }
    40          if(k<slen)return 0;
    41          else return 1;
    42  
    43      
    44      
    45  }
  • 相关阅读:
    团队冲刺第四天
    团队冲刺第三天
    团队冲刺第二天
    冲刺(六)
    冲刺(五)
    冲刺(四)
    冲刺(三)
    冲刺(二)
    冲刺(一 )
    第一阶段SCRUM
  • 原文地址:https://www.cnblogs.com/XBWer/p/2643056.html
Copyright © 2011-2022 走看看