数据结构B实验报告书_第1页
数据结构B实验报告书_第2页
数据结构B实验报告书_第3页
数据结构B实验报告书_第4页
数据结构B实验报告书_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

北北 京京 林林 业业 大大 学学 10 学年学年 11 学年第学年第 1 学期学期数据结构 B实验报告书实验报告书 专 业 地理信息系统 班 级 地信 09 姓 名 马天啸 学 号 090134108 实验地点 计算中心 B1 机房 任课教师 孟伟 实验题目 线性表的基本操作的基本操作 实验环境 Visual C 实验目的 实验内容 实现方法 实验结果及结论分析等 一 实现方法 1 所用数据结构的定义及其相关说明 相关结构体或类的定义及其含义 在实验中一共定义了链表和 BOOK 类 其中 book 中定义了书名 书的编号 书的价 格 其中书名是用字符数组定义的 其它两个变量是定义了整型变量 并在其中定义了链 表的头指针 struct Book next 2 自定义函数的名称及其功能说明 在这次的实验中共定义了 6 个自定义函数 分别实现图书管理系统中的 6 个功能 1 Void CreateList 函数 用于创建链表和向链表中输入数据 2 void Printlist 函数 将图书管理系统中的数据全部输出 实现图书管理系统中功能 2 3 void Findname 函数 通过图书名称查找图书 4 void Findno 函数 通过图书编号查找图书 5 int ListInsert 函数 向图书管理系统中插入图书 6 int ListDelete 函数 删除指定位置的图书管理系统中的图书信息 3 函数的调用关系图 被调用 Void CreateList 函 数 void Printlist 函数void Findname 函数 void Findno 函数 int ListInsert 函数int ListDelete 函数 主函数 4 主要功能算法的流程图 5 算法的时间复杂度 O n O n1 O n2 O n3 O n4 O n5 O n6 O n7 O n1 Void CreateList 函数算法时间复杂度 O n O n2 void Printlist 函数算法时间复杂度 O 1 O n3 void Findname 函数算法时间复杂度 O n O n4 void Findno 函数算法时间复杂度 O n O n5 int ListInsert 函数算法时间复杂度 O n O n6 int ListDelete 函数算法时间复杂度 O n O n7 printf 函数算法时间复杂度 O 1 2 实验结果 1 图书管理进入界面 主函数 Void CreateList 函 数 void Printlist 函数 void Findname 函数 void Findno 函数 int ListInsert 函数 int ListDelete 函数 switch 函数 统计并输出 printf 函数 退出系统 return 函数 系统错误 default 函数 2 输入图书信息 测试输入信息是否成功 3 打印图书管理系统中的信息 4 根据书名进行查找 出错反馈 5 根据指定的位置进行查找 出错反馈 6 插入图书到指定位置 插入成功检测 7 删除指定位置的图书记录 成功反馈 8 退出系统 9 选择功能错误反馈 三 结论分析 1 问题与解决方法 1 没有理解到类 C 语言和实际编程中存在的差异 数据结构书上给出的是用类 C 语言编写而成的算法 仅能为实际编程时提供一个 思路和指导的作用 但是我却错误的把它理解能够直接使用在实际编程中的语言 导 致编程的时候函数编写中一直没有办法将函数成功的编写出来 解决方法解决方法 通过老师给出的参考程序和同学的帮助下将第一个创建链表的函数写出来 之 后就比较明白两者之间的差异 后面在编写函数的时候和编程的时候就显得顺利 很多 2 没有理解链表中指针的变化过程 链表中的指针变化是一大难点 但是我在上课后对于指针的变化还是没有特别弄 懂 导致在实验的时候指针链接上出现了不少问题 程序总是突然中断等问题时常出 现 解决方法 解决方法 参考书上的案例和方法 模仿书上的例子和指针变化过程 然后再通过老 师教授的画图的方法一点一点理解指针在链表中的作用 最后成功的调试成功了每一 个程序中的指针 3 指针没有随信息的增加而增加 指针在信息增加时也应随之增加 在输出链表中每一个元素和插入时我都没有注 意到这一点 在这两个函数上耗费了很多时间 解决方法 解决方法 通过同学和老师的指点下意识到了这个问题 成功解决了第二个函数后 第三个函数就非常成功的编写出来了 4 全局变量 n 没有随着信息数量的改变而改变 在所有函数成功编写成功后 程序调试也没有问题之后却出现了一个致命的错误 在图书管理系统插入或删除一个信息之后 显示图书册数的 n 变量没有变化 导致整 个程序出现了插入信息的时候将原来信息替代的问题 解决方法 解决方法 将插入和删除两个函数类型进行转变 由原来的 void 型转变为 int 型 添 加语句 n n 让 n 的值随着增加和减少 最后再使用 return 语句返回 n 值 最后 成功的实现了所有的功能 2 收获和体会 这是第一次的数据结构实验 在这次实验中尽管经历了许多困难 但是我却从中学到 了很多 首先 我了解到不能够完全按照书本的知识生搬硬套 要自己结合实际加以运用 这样才能算学会了真正的知识 其次 我应该更加注意利用每次课堂上的 120 分钟 在这 次实验中有好多错误是老师已经在课堂上提醒我们应该注意 但是我都无一例外地犯了同 样的错误 这让我感到我应该更加注意听讲 让老师说过的错误不在自己的身上重犯 除 此之外 自己在课堂上遗留的问题不应该搁置 应该想尽办法让自己在这方面的问题得到 解决 这样才能在实验的时候不出现问题 3 尚存在的问题 虽然在实验中解决了不少的问题 但是还是在数据结构上存在不少的问题 首先 脱 离书本和参考不能完全依靠自己完成实验 自己在实验中的函数和思路都是通过书本和参 考实现的 然后脱离这些不知道自己是否能够完成这样一个任务 第二 自己还没有完全 弄懂指针 指针的变化在每个部分都是非常重要的 但我

温馨提示

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

评论

0/150

提交评论