实验三 串的应用.doc

上传人:hw****26 文档编号:3155231 上传时间:2019-05-23 格式:DOC 页数:6 大小:49KB
下载 相关 举报
实验三  串的应用.doc_第1页
第1页 / 共6页
实验三  串的应用.doc_第2页
第2页 / 共6页
实验三  串的应用.doc_第3页
第3页 / 共6页
实验三  串的应用.doc_第4页
第4页 / 共6页
实验三  串的应用.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、实验三 串的应用基本思路;串是非数值运算中的处理的主要对象,如信息检索、文本编辑、符号处理等得到广泛应用。本实验的目的在于让学生有效实现串的处理,这就要求学生熟悉串的存储结构及其基本运算。首先设计出串的定位算法及其实现;然后再利用串的定位算法设计文本的检索及单词的计数等操作。一、串模式匹配算法的设计与实现1、 设计要求:子串的定位就是要求子串在主串中首次出现的位置。称为模式匹配。只要求学生能用最简单的朴素模式算法即可。算法思路为:将给定的子串与主串从第一个字符开始比较,找到首次与子串完全匹配的子串为止,并记住位置。2、 算法分析及设计朴素模式匹配算法:设计需要有三个指针:i、j 、k,用 i

2、批示主串 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

3、.length;for (i=0;is2.length)return i-s2.length;else return -1;return -1;3、 数据类型的存储表示:#define Maxstrsize 256/字符数组的最大容量Typedef struct Char chMaxstrsize;int length;sstring;/定义顺序串类型4、 参考源代码:#include #include #include /包含串类型 sstring 和朴素模式匹配算法等。void main()int I,j,k;Sstring s1,t1;int wz80;/记录子串的位置i=0;/计数器清

4、零s1.length=strlen(s1.ch);t1.length=strlen(t1.ch);k=0;while(k0)printf(“行号:%d,次数,%d,位置分别为:”,l,i);for (m=1;m#include #include “strpp.h”/包含串类型和匹配函数#include “fun.h”/存储三个函数的头文件void main() void creattextfile(),substrcount(),substrind();int xz;do printf(“*n”);printf(“ 文本处理与统计程序 n”);printf(“*n”);printf(“ 1、建立文本文件 n”);printf(“ 2、单词计数 n”);printf(“ 3、单词定位 n”);printf(“ 4、退出 n”);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。