- 35
- 0
- 约4.14千字
- 约 6页
- 2017-06-03 发布于湖北
- 举报
实验三 串的应用
基本思路;
串是非数值运算中的处理的主要对象,如信息检索、文本编辑、符号处理等得到广泛应用。本实验的目的在于让学生有效实现串的处理,这就要求学生熟悉串的存储结构及其基本运算。
首先设计出串的定位算法及其实现;然后再利用串的定位算法设计文本的检索及单词的计数等操作。
串模式匹配算法的设计与实现
设计要求:
子串的定位就是要求子串在主串中首次出现的位置。称为模式匹配。只要求学生能用最简单的朴素模式算法即可。
算法思路为:将给定的子串与主串从第一个字符开始比较,找到首次与子串完全匹配的子串为止,并记住位置。
算法分析及设计
朴素模式匹配算法:设计需要有三个指针:i、j、k,用i批示主串S每次开始比较的位置;
指针j和k分别批示主串S和模式串T中当前正在等待比较的字符位置;一开始从主串S的第一个字符(i=0,j=0)和模式T的第一个字符(k=0)比较,若相等,则继续逐个比较后续字符(j++,k++),否则从主串的下一个字符(i++)起重新和模式串(j=0)的字符开始比较。依次类推,直到模式T中的所有字符都比较完,而且一直相等,则称匹配成功,并返回位置;否则返回-1,表示失败。
int index(sstring S,sstring T)
{//求子串T在主串中首次出现的位置(朴素匹配算法)
int i,j,k,m,n;
m=T.length;n=S.length
原创力文档

文档评论(0)