//名称:KMP算法初步
//日期:2020/2/3
//姓名:高万禄
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//主函数开始 以a:qabaababaabababa b:qababa;即abaababaabababa 与ababa
int main(void)
{
char a[100],b[100];
gets(a);
gets(b);
int sizea=strlen(a),sizeb=strlen(b),i=1,j=1;
int next[6]={0,0,1,1,2,3};
a[sizea]=b[sizeb]='\0';
while(i<sizea&&j<sizeb)
{
if(j==0||a[i]==b[j])
{
i++;
j++;
}
else
{
j=next[j];
}
}
if(j>=sizeb)
{
printf("yes%d\n",i-sizeb+1);
}
else
{
printf("no\n");
}
return 0;
}
//主函数结束
17 string pattern matching algorithm preliminary kmp
Guess you like
Origin blog.csdn.net/qq_45812941/article/details/104413663
Recommended
Ranking