kmp字符串匹配.txt
来自「KMP字符串匹配的c实现」· 文本 代码 · 共 42 行
TXT
42 行
#include<iostream.h>
#include<string.h>
int next[20];
int main(){
char a[20]="abcdefghijk";
char b[20]="abcdefgg";
int i,j;
i=0;next[0]=0;j=0;
while(i<strlen(b))
{
if(j==0||b[i]==b[j])
{
++i;++j;
if(b[i]!=b[j])
next[i]=j;
else
next[i]=next[j];
}
else
j=next[i];
}
i=0;j=0;
while(i<strlen(a)&&j<strlen(b))
{
if(j==0||a[i]==b[j])
{
++i;++j;
}
else
j=next[j];
}
if(j>=strlen(b))
cout<<i-strlen(b);
else
cout<<"-1";
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?