基于next数组的KMP源码
来源:互联网 发布:wamp mysql 乱码 编辑:程序博客网 时间:2024/04/29 17:31
对于书上介绍的KMP算法的源码,如有问题欢迎评论指出。
#include <iostream>#include <string>using namespace std;void getNext(char *s, int *next){int sLen = strlen(s);int j = 0;int k = -1;next[0] = -1;while(j < sLen - 1){if(s[j] == s[k] || k == -1){++j;++k;if(s[j] == s[k])next[j] = k;elsenext[j] = next[k]; //再次进行的递归}elsek = next[k];}}int KMPSearch(char *p,char *s,int *next){int pLen = strlen(p);int sLen = strlen(s);int i = 0;int j = 0;while(i < sLen && j < pLen){if(s[i] == p[j] || j == -1){++i;++j;}elsej = next[j];}if(j == pLen)return i - j + 1;elsereturn -1;}int main(){char *s = "abcdfacdeabdfdsa";char *p = "abd";int next[50];getNext(s,next);cout << KMPSearch(p,s,next) << endl;getchar();return 0;}
0 0
- 基于next数组的KMP源码
- KMP的next数组
- KMP算法的next数组
- KMP的next[]数组详解
- kmp 的next 数组求法
- KMP next数组的求法
- KMP--next数组的理解
- KMP NEXT数组的求解
- kmp的next数组值的求法
- 求最长公共前缀和后缀—基于KMP的next数组
- kmp求next数组值的方法
- kmp的next数组值得求法
- KMP算法中的NEXT数组的应用
- hdu1358 KMP-next数组的应用
- kmp的next数组值得求法
- hdu-4763 kmp next数组的应用
- POJ 1961 KMP的next数组应用
- 关于KMP算法的NEXT数组解释
- Xcode cannot run using the selected device
- Android.mk文件的解析
- js滚轮换切屏
- R cannot be resolved to a variable
- Try Redis
- 基于next数组的KMP源码
- vector list (转)
- eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法
- 黑马程序员-------关于内存
- HDU-#1251 统计难题(字典树)
- sessionFactory
- LightOJ 1048 Conquering Keokradong | 二分
- 微信与微博的粗略比较(产品设计)
- 博客停用,转至Github Pages