KMP算法———模板
生活随笔
收集整理的這篇文章主要介紹了
KMP算法———模板
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
做出KMP字符串匹配算法心情也是好好噠,萌萌噠。
感謝黃學(xué)長,感謝棟棟!
#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
int p[101];
int main()
{
string a,b;
cin>>a>>b;
int n=a.length(),m=b.length();
a=" "+a;b=" "+b;
int j=0;
for(int i=2;i<=m;i++)
{
while(j>0&&b[j+1]!=b[i])j=p[j];
if(b[j+1]==b[i])j++;
p[i]=j;
}
j=0;
for(int i=1;i<=n;i++)
{
while(j>0&&b[j+1]!=a[i])j=p[j];
if(b[j+1]==a[i])j++;
if(j==m){printf("%d",i-m+1);break;}
}
return 0;
}
轉(zhuǎn)載于:https://www.cnblogs.com/xiaoqi7/p/5224275.html
總結(jié)
以上是生活随笔為你收集整理的KMP算法———模板的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySql数据库表类型MYISAM与In
- 下一篇: Ext JS 6学习文档-第6章-高级组