数据结构实验报告《三、串及其应用》_第1页
数据结构实验报告《三、串及其应用》_第2页
数据结构实验报告《三、串及其应用》_第3页
数据结构实验报告《三、串及其应用》_第4页
数据结构实验报告《三、串及其应用》_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5页共5页数据构造实验报告《三、串及其应用》数据构造实验报告----串及其应用之文学研究助手专业班级:电信班时间:2022年X月X日数据构造实验报告----串及其应用之文学研究助手【问题描绘】文学研究人员需要统计某篇英文小说中某些单词〔特别是形容词〕的出现次数和位置,甚至连数字和标点符号的个数也可以统计。试写一个实现这一目的的文字统计系统,称为“文学研究助手”。【根本要求】1、输入一页文字,静态存储一页文章,每行最多不超过80个字符,共N行;2、分别统计出其中英文字母数、空格数、标点符号及整篇文章总字数;3、统计某一字符串在文章中出现的次数,并输出该次数;4、删除某一子串,并将后面的字符前移。【运用拓展】1、保存输入文章到本地text文本中;2、形式匹配基于KMP算法;3、仿真友好界面显示:〔1〕、要求用菜单项选择择操作,分别用几个子函数实现相应的功能;〔2〕、输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。〔3〕、输出形式:1〕、分行输出用户输入的各行字符;2〕、分5行输出“全部字母数“、“数字个数“、“空格个数“、“标点符号个数”“文章总字数“;3〕、输出删除某一字符串后的文章。【涉及的知识点】链串的插入,删除,查找,形式匹配〔knp算法〕及文件的写入与写出,用switch,case语句进展菜单的选择,用while语句进展循环,用if语句进展条件的判断等等。【设计思路】、总体思路:本文采用链式存储字符串,链串的插入采用后插法,以‘#’为字符串完毕的标志。在插入字符串的同时用文件存储字符串。、删除算法的根本思路:输入要删除的字符串,同样以‘#’完毕,然后在文中查找该字符串,假设找到了那么把它删除,同时长度要减少;否那么,没找到不能删除。查找算法与删除算法类似;但也有不同之处,不同在于:这里是要查找某字符串在文中出现的次数,因此,当找到该字符串后还要继续往后查找,并将次数加1;直到文章的末尾才完毕查找。、用菜单做选择:用switch,case语句进展选择判断,并用类的对象调用类的成员函数以实现特定的功能。由于采用链式存储字符串,它是按一个一个的字符进展存储的,当遇到空隔和换行符时它会忽略不计。为理解决这一问题,本文采用交换的方法——当要输入空格时就输入‘:’,当要输入换行符时就输入’\\’,在输出时,遇到‘:’就输出空格,遇到‘\\’就输出换行符。、功能设计根据提示选择是否开场yn选择操作退出调用相应函数是否继续?、详细设计Linklist类中有一个保护成员head〔指针类型〕;公有成员中包含一个整型变量len,用于计算字符串的长度;另外还包含5个子函数,分别是:1,voidrcreat函数,用尾插法建立链串,并将字符串存入文件,遇到#时完毕;2,voidprint(link*head)函数,用于输出链串,当遇到的字符为冒号〔:〕时输出空格,当遇到的字符为〔\\〕时输出换行,当遇到的字符大于等于48并且小于等于57时,数字个数加1,当遇到的字符为标点符号时,相应的标点符号数加1,并输出;判断完后指针后移。3,voiddeletel(link*head,link*head2)为删除字符串的函数,其中head是指向输入的文章的第一个字符,head2是指向要删除的字符串的第一个字符,采用形式匹配的算法进展查找,假设在文中找到了一个字符与要删除的第一个字符一样,那么指针分别往后移,假设文中的下一个字符与第二个字符不一样,那么继续找文中的下一个字符与要删除的字符从第一个字符开场从新匹配,直到要删除的字符都匹配完;找到了要删除的字符串在文中的位置后,将文中与这串字符匹配的第一个字符开场到最后一个匹配的这段字符删除;假设没有找到该字符串那么不能删除。4,voidprint2(link*head2)函数,输出要删除的字符串,其中,head2指向要删除的字符串的第一个字符。5,void*found(link*head,link*head2)函数用于查找字符串在文中出现的次数;设置一个整型变量num,用于统计出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论