资源简介
最简洁的KMP算法
代码片段和文件信息
#include
#include
#include
#define ERROR 0
#define TRUE 1;
int InitData(char **sourcechar **targetint **value)
{
char ch;
int i=0;
(*source)=(char*)malloc(sizeof(char)*100);
(*target)=(char*)malloc(sizeof(char)*100);
(*value)=(int*)malloc(sizeof(int)*100);
if(!(*source)||!(*target)||!(*value))
return ERROR;
printf(“请输入源字符串,以#结束:\n“);
while((ch=getchar())!=‘#‘)
{
(*source)[i++]=ch;
(*source)[i]=‘\0‘;
}
getchar(); //抵消缓冲
i=0; //重置
printf(“请输入要匹配的字符串,以#结束:\n“);
while((ch=getchar())!=‘#‘)
{
(*target)[i++]=ch;
(*target)[i]=‘\0‘;
}
//初始化Value数组
for(i=0;i<100;i++)
{
(*value)[i]=0;
}
return TRUE;
}
//得出target中的匹配值
int GetValue(char *targetint *value)
{
char *head*tail;
int temp;
//ABCDABD
//ABCDAB
int i=1j=0;
head=(char*)malloc(sizeof(char)*100);
tail=(char*)malloc(sizeof(char)*100);
if(!head||!tail)
return ERROR;
for(i=1;i {
j=0;
while(target[j]!=‘\0‘)//复制到临时数组
{
head[j]=target[j];
tail[j]=target[j];
j++;
head[j]=‘\0‘;
tail[j]=‘\0‘;
}
head[i]=‘\0‘;
tail[i+1]=‘\0‘;
相关资源
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- C语言全套课件与教学资料-哈工大
- c++ 定时关机程序源码
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- aes加解密(vc源程序)
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- XUnZip Zip解压缩.rar
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- 程序员面试手册
- C语言常用算法源代码
- svpwm程序
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- 关于LED制作的源代码合集(38套)
- 04737C++ 程序设计精华.docx
- c语言课件56883
- C++程序设计精讲
- C语言推箱子win控制台
- C语言程序设计50例.docx
- c++ 求两个数的和
- c++11语言基础
- 烟花优化算法(c语言版)
- C语言程序设计教材习题参考答案.do
- 数据结构(C语言版)ppt课件,清华,
评论
共有 条评论