KMP模板
来源:互联网 发布:php蜘蛛强制劫持跳转 编辑:程序博客网 时间:2024/05/17 22:36
next数组求法连接,感觉比较详细点击打开链接
kmp函数讲解,链接点击打开链接
#include<bits/stdc++.h> using namespace std; int next[200]; void GetNext(char *t,int lt) //求next数组 { int i=0,k=-1; next[0]=-1; while(i<lt-1) // 根据已知的前j位推测第j+1位 { if(k==-1||t[i]==t[k]) { if(t[i+1]==t[k+1]) next[++i]=next[++k]; else next[++i]=++k; } else k=next[k]; } } int Kmp(char *s,int ls,char *t,int lt) //返回值为下标 { int i=0,j=0; while(i<ls) { if(j==-1||s[i]==t[j]) { ++i,++j; if(j==lt) return i-j+1; } else j=next[j]; } return -1; //不存在 } int main() { char s[150],t[150]; while(true) { cout << "输入模式串:" ; cin >> s; cout << "\n" << "输入匹配串:"; cin >> t; int len_s=strlen(s); int len_t=strlen(t); GetNext(t,len_t); int ans=Kmp(s,len_s,t,len_t);if(ans!=-1) cout << "开始的位置为:" << ans << "\n" << endl; else cout << "未找到!\n" << endl; } return 0; }
阅读全文
0 0
- KMP模板
- KMP 模板
- kmp模板
- kmp模板
- kmp模板
- KMP模板
- kmp模板
- kmp模板
- KMP 模板
- 【模板】KMP
- KMP模板
- KMP模板
- 【KMP 模板】
- KMP模板
- KMP 模板
- kmp模板
- KMP模板
- KMP 模板
- 前端事件绑定知识点(面试要点)
- (一) 3D图形渲染管线
- 用tcp协议创建一个服务器
- HDU 6130 Kolakoski【找规律】
- CSS3动画魔方案列
- KMP模板
- 廖雪峰Python教程阅读笔记——7. 面向对象高级编程
- jquery取得元素标签名称
- 基数排序
- MySQL基础
- 把一个页面放在弹框里并传值
- 最佳加法表达式(动态规划)
- mysql主从复制(超简单)
- 设计模式——Factory