KMP 算法实现
来源:互联网 发布:人工智能著名文章 编辑:程序博客网 时间:2024/04/29 15:56
// string match:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//analyse pattern string:
void Next(char *T,int *N)
{
int lent=strlen(T);
int i,j;
N[0]=-1;
j=-1;
for(i=1;i<lent;i++){
if(j>=0&&T[i]!=T[j+1])
j=N[j];
if(T[i]==T[j+1])
j++;
N[i]=j;
}
}
//kmp match method,
int KMP(char *S,char *T)
{
int i,j,ans=0;
int lent=strlen(T);
int lens=strlen(S);
j=-1;
for(i=0;i<lens;i++){
if(j>=0&&S[i]!=T[j+1])
j=N[j+1];
if(S[i]==T[j+1])
j++;
if(j==lent-1){
ans++;
j=N[j];
}
}
return ans;
}
int main(int argc,char *argv[])
{
Next(argv[2],N);
printf("%d/n",KMP(argv[1],argv[2]));
}
- KMP算法及改进KMP算法实现
- [数据结构]KMP算法实现
- KMP算法的实现
- KMP算法实现
- KMP算法实现
- KMP 算法实现
- kmp算法实现
- KMP算法实现
- KMP算法和实现
- KMP算法实现
- KMP算法及实现
- KMP算法的实现
- KMP算法实现
- java实现kmp算法
- KMP算法C++实现
- KMP算法c++实现
- KMP算法java实现
- kmp算法实现
- 架构师必然是孤独的领袖
- StringTokenizer的用法及示例
- 编写高效的Android代码
- MYSQL的导出
- 网管SNMP Agent的快速开发[转]
- KMP 算法实现
- .net 获取当前时间
- 出书要认真阿!!
- 接口和抽象类区别
- 成功的人生至少需要一张跳板
- IE各项注册表键值说明
- 利用驱动程序隐藏任意进程,目录/文件,注册表,端口
- JavaScript面向对象编程
- 我的VS2008主题