一:实验目的
(1) 利用顺序结构存储串,并实现串的匹配算法。
(2) 掌握简单的模式匹配思想、熟悉kmp算法
二:实验内容
(1)用键盘初始化目标串和模式串,通过简单的模式匹配算法实现串的模式匹配成功后要求输出模式串在目标串中的位置
(2)设计并调试KMP算法,并与简单模式匹配算法进行比较。
三:实验要求
(1)根据实验内容编写程序,上机调试并获得运行结果
(2)撰写实验报告
四:程序清单、调试和测试结果及分析
KMP算法:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef char DataType;
void GetNext(DataType *t,int *next,int tlength)
{
int i=1,j=0;
next[1]=0;
while(i<tlength)
{
if(j==0||t[i]==t[j])
{
++i;
++j;
next[i]=j;
}
else
j=next[j];
}
}
int IndexKmp(DataType *s,DataType *t,int pos,int tlength,