BMP算法程序

来源:互联网 发布:为什么淘宝登陆不上去 编辑:程序博客网 时间:2024/04/28 19:53

BMP算法

完整代码如下:

#include "stdafx.h"#include <iostream>using namespace std;void getNext(char *p,int *next){int j,k;next[0]=-1;j=0;k=-1;while(j<strlen(p)-1){if(k==-1||p[j]==p[k]){j++;k++;next[j]=k;}else{k=next[k];}}}int  BMP(char *s,char *p){int i=0;int j=0;int next[100];getNext(p,next);while(i<strlen(s)){if(j==-1||s[i]==p[j]){i++;j++;}else{j=next[j];}if(j==strlen(p))return i-strlen(p);}return -1;}int main(){char *s="abcdefghijkl";char *p="cdefg";int next[5];getNext(p,next);for(int i=0;i<5;i++)cout<<next[i]<<" ";cout<<endl;int k=BMP(s,p);cout<<k;return 0;}


 

原创粉丝点击