KMP
来源:互联网 发布:有声漫画软件排行 编辑:程序博客网 时间:2024/06/06 03:55
#include <algorithm>#include <iostream>#include<cstring>using namespace std;int next[30];void getnext(string T,int *next)//字符串T和next的脚标需要从1开始 { int i=1; next[1]=0;// 规定next数组第一位为0 int j=0; while(i<T.length()) { if(j==0||T[i]==T[j]) { ++i; ++j; next[i]=j; } else j=next[j];//回溯!!! }}int vala(string S,string T,int *next){ int is=1,jt=1; cout<<"S.L "<<S.length()-1<<" T.L "<<T.length()-1<<endl; while(is<=S.length()&&jt<=T.length()) { if(jt==0||S[is]==T[jt]) { is++; jt++; } else jt=next[jt]; if(jt>T.length()-1) return (is-T.length()+1); } return 0;} int main(){ // freopen("r","text.txt",stdin); string Sstr; cin>>Sstr; Sstr="S"+Sstr; string Tstr; cin>>Tstr; Tstr="T"+Tstr; getnext(Tstr,next); for(int i=0;i!=Tstr.length();i++) cout<<Tstr[i]<<' '; cout<<endl; for(int i=0;i!=Tstr.length();i++) cout<<next[i]<<' '; cout<<endl; cout<<vala(Sstr,Tstr,next); system("pause"); return 0;}
0 0
- KMP
- KMP
- KMP
- KMP
- KMP
- KMP
- kmp
- kmp
- KMP
- kmp
- KMP
- KMP
- KMP
- kmp
- KMP
- KMP
- kmp
- KMP
- CodeVS1136 Mayan游戏
- 第一课(MySQL基础知识)
- Asterisk的管理方法
- PHP实现排序算法----希尔排序(Shell Sort)
- POJ 3438 Look and Say G++
- KMP
- ArrayList、linklist、list的区别
- 进程间通信方式
- oracle 11g 静默安装
- jQuery笔记——动画设计——滑动动画
- 进行Android JNI编程前,你需要知道的几点。
- luogu【P1192】台阶问题
- 部分银行账户代码
- get请求时候参数中含有“中文”字段出现乱码问题的原因和解决方法