KMP算法
来源:互联网 发布:qt多线程编程实例 编辑:程序博客网 时间:2024/06/13 15:50
KMP算法
/*Name: KMP算法 Copyright: Author:cc Date: 15/04/17 19:56Description:kmp用于找出某一特定字符串,优点比较传统的方式在于能够充分使用到当字符串内一段字串匹配被丢弃的浪费,从而更加省时间。 */#include<iostream>using namespace std;typedef struct {char data[20];int length;}compare;void getNext(compare t,int next[]) //重要的是获取next[] {int j,k;j=0;k=-1;next[0]=-1;while(j<t.length-1){if(k==-1||t.data[j]==t.data[k]) { j++;k++;next[j]=k; } else k=next[k];}}int KMPIndex(compare s,compare t){int next[20];int i=0,j=0;getNext(t,next);while(i<s.length&&j<t.length){if(j==-1||s.data[i]==t.data[j]){i++;j++;}else j=next[j];}if(j>=t.length)return(i+1-t.length);elsereturn(-1);}int main(){compare s={"dseasdfghjfrsrgrh",17},t={"fghj",4};//用于比较的两个字符串 cout<<KMPIndex(s,t);return 0;}
阅读全文
1 0
- KMP算法详解 【KMP】
- 【KMP】KMP算法模板
- KMP hihoCoder1015 KMP算法
- kmp算法
- KMP算法
- KMP算法
- KMP算法
- KMP算法
- KMP 算法
- kmp算法
- KMP算法
- kmp算法
- KMP算法
- KMP算法
- kmp算法
- kmp算法
- KMP算法
- KMP算法
- Fragment学习理解及简单实践
- js的变量、参数
- CodeM美团点评编程大赛 音乐研究
- 计算机字符编码详解
- stepbystep记录在30岁转型IT的自学之路
- KMP算法
- 网络的两个性能指标:速率与带宽
- PMP模拟试题与解析(七)
- thymeleaf 学习笔记(填坑)
- [Freemarker] Freemarker自定义函数
- D 03_JavaScript中的运算符和正则
- python中enumerate()函数的用法
- 冒泡排序算法的使用
- JAVA二分查找