实验三 串应用.docVIP

  • 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)

1亿VIP精品文档

相关文档