KMP的实现
来源:互联网 发布:房地产数据分析职位 编辑:程序博客网 时间:2024/06/05 06:23
#include <iostream>using namespace std;int* buildNext(char * p){size_t m = strlen(p), j = 0;int *Next = new int[m];int t = Next[0] = -1;//模式串指针while (j<m - 1) {if (t<0 || p[j] == p[t]) {Next[++j] = ++t;}else{t = Next[t];}}return Next;}int KMP(char* p, char *T){int *next = buildNext(p);//构造next表int n = (int)strlen(T), i = 0;//文本串指针int m = (int)strlen(p), j = 0;//模式串指针while (i<n&&j<m){if (j<0 || T[i] == p[j]) {i++; j++;}else{j = next[j];}}delete[] next;return i - j;}int main(int argc, const char * argv[]) {cout<<KMP("abcdefg","cde");return 0;}
0 0
- KMP算法的实现
- KMP算法的实现
- KMP算法的实现
- KMP算法的实现
- KMP实现的strstr
- KMP算法的实现
- kmp算法的实现
- kmp算法的实现
- KMP算法的实现
- KMP算法的实现
- KMP的实现
- KMP算法的实现
- KMP算法的实现
- KMP算法的实现
- KMP算法的实现
- 我的KMP实现
- KMP的python实现
- KMP算法的实现
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类
- 数据库删除重复记录的sql
- iOS内存管理 ARC与MRC
- hdoj 5437 Alisha’s Party 【优先队列 模拟】
- 第2周项目3体验复杂度
- KMP的实现
- oracle 扩展表空间
- hdu5438Ponds
- Linux下创建用户组及用户
- linux 下定时器的实现
- 顺序表的基本运算2
- 百度实习总结
- cut -linux
- android根据分辨率自动调整字体大小的实例代码