KMP算法
来源:互联网 发布:阿里云 cdn ddos 编辑:程序博客网 时间:2024/05/17 19:18
#include <iostream>using namespace std;void kmp_getnext(char *partten, int *next) {int m = strlen(partten);int i = 0, j = -1;next[i] = j; while ( i < m + 1 ) {while ( j >= 0 && partten[i] != partten[j] ) //表示第i + 1个元素不等于第j + 1个元素j = next[j]; //前j个字符partten[0---(j-1)]的最大前缀存放在next[j]中i++;j++;next[i] = j;}}void kmp_search(char *text, char *partten, int *next) {int n = strlen(text);int m = strlen(partten);int i = 0;int j = 0;while ( i < n) {while ( j >= 0 && text[i] != partten[j] )j = next[j];i++;j++;if ( j == m ) {printf("%d\t", i - j + 1);j = next[j];}}}int main(void) {char *text = "aababaababacb";char *partten = "ababacb";int m = strlen(partten);int *next = (int *)malloc((m + 1) * sizeof(int));kmp_getnext(partten, next);kmp_search(text, partten, next);return 0;}
0 0
- KMP算法详解 【KMP】
- 【KMP】KMP算法模板
- KMP hihoCoder1015 KMP算法
- kmp算法
- KMP算法
- KMP算法
- KMP算法
- KMP算法
- KMP 算法
- kmp算法
- KMP算法
- kmp算法
- KMP算法
- KMP算法
- kmp算法
- kmp算法
- KMP算法
- KMP算法
- 发的恢复更快更好看很过分
- 图解 Android 广播机制
- org.hibernate.hql.ast.HqlToken cannot be cast to org.hibernate.hql.ast.HqlToken
- android背景选择器selector用法汇总
- Android OnGestureListener 判断手势上下滑动
- KMP算法
- 常见软件版本说明
- 天神的告诫:色情、邪淫、艳遇感召鬼魅魔众的真相(转载)
- 专访许鹏:谈C程序员修养及大型项目源码阅读与学习
- IO流操作规
- ASP.NET后台页面请求
- http状态码总结
- swift 1. 前言
- android应用跳转至市场给软件评分功能