《数据结构》教学实习报告_小组szxlw.docVIP

《数据结构》教学实习报告_小组szxlw.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》教学实习报告_小组szxlw

天津农学院 计算机科学与信息工程系 《数据结构》 教学实习报告 目 录 1 实验内容 1 1.1 实验题目 1 1.2 实验目的 1 2 实验要求 1 3 需求分析 1 4 概要设计 2 4.1 数据类型 2 4.2 主程序流程 2 4.3 各函数功能 3 5 详细设计 3 5.1 数据类型定义 3 5.2 主要算法 4 5.3 函数调用关系 10 6 调试分析 10 6.1 测试环境 10 6.2 模块调试 10 6.3 源代码 11 7 使用说明 22 8 测试结果 24 9 总结 27 1 实验内容 1.1 实验题目 使用哈希表设计一个电话薄查询系统。 1.2 实验目的 电话号码查询系统是利用哈希表实现电话系统的快速查询,程序实现哈希表建表和查表,并实现对没有查找到的内容进行记录。掌握哈希表的工作原理,熟悉建立哈希表、对哈希表冲突处理、哈希表查找等功能的实现。 2 实验要求 (1)每个记录有下列数据项:电话号码、用户名、地址。 (2) 一是从数据文件old.txt(自己现行建好)中读入各项记录,二是由系统随机产生各记录,并且把记录保存到new.txt文件中,记录条数不要少于30,然后分别以电话号码和用户名为关键字建立哈希表。 (3) 分别采用伪随机探测再散列法和再哈希法解决冲突。 (4) 查找并显示给定电话号码的记录;查找并显示给定用户名的记录。 (5) 将没有查找到的结果保存到结果文件Out.txt中,没有找到查找结果,要有提示语句。 3 需求分析 本演示程序用C++编写,完成电话薄的查找。   ① 输入的形式和输入值的范围:数据输入分两种模式:一种是将原有数据记录在old.txt文档中,由程序读入;另一种是由程序随机生成,并储存在new.txt文档中。数据的格式为:姓名、电话号码、家庭住址。用户使用时显示菜单,用户输入菜单选项完成操作。   ② 输出的形式:查找的结果显示在屏幕上。未被查找到的内容输出到out.txt文档中。在用户需要时,将哈希表显示在屏幕上。   ③ 程序所能达到的功能:根据用户的选择,从原有文档读入数据或随机生成数据,分别以姓名和电话号码做为关键字生成哈希表。生成哈希表后用户可以根据相应关键字进行数据的查找,若查找到对应的数据则将数据输出到屏幕,若没有查找到对应的数据则将用户输入的查找内容输出到out.txt文档。在用户选择显示哈希表时,显示完整的哈希表。 程序使用文字菜单的友好界面。在数据输入时对输入内容进行范围控制。   ④ 测试数据: 在old.txt文档中输入30条记录,令程序读入并分别以姓名和电话号码做为关键字生成哈希表,查找记录中原有的记录,查看输出数据,查找记录中没有的记录查看回馈,查看整个哈希表的数据。令程序随机生成记录,查看new.txt文档,分别以姓名和电话号码做为关键字生成哈希表,查看整个哈希表的数据,分别查找原有和没有的记录,查看回馈。 4 概要设计 4.1 数据类型 定义结构体类型存储每条记录。 struct Data{ string name;//用于存放姓名 string phone;//用于存放电话号码 string address;//用于存放地址} 4.2 主程序流程 4.3 各函数功能 函数名称:Random(int key,int i) 函数名称:伪随机数探测再散列法处理冲突 函数名称:Rehash(int key,string str) 函数名称:再哈希法处理冲突 函数名称:Hashname(string name,string phone,string address) 函数名称:以名字为关键字建立哈希表 函数名称:Hashphone(string name,string phone,string address) 函数名称:以电话为关键字建立哈希表 函数名称:Outfile(string name,int key) 函数名称:输出未找到的记录 函数名称:Outhash(int key) 函数名称:显示哈希表中的记录 函数名称:Rafile()//随机生成数据 函数名称:Hash(char* fname,int n) 函数名称:建立哈希表 函数名称:Findname(string name) 函数名称:根据姓名查找 函数名称:Findphone(string phone) 函数名称:根据电话查找 5 详细设计 5.1 数据类型定义 struct Data//定义结构体类型 { string name; //用于存放姓名 string phone; //用于存放电话号码 string address; //用于存放地址 }; Data* dat;

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档