实验一--线性表基本操作的编程实现.pdfVIP

实验一--线性表基本操作的编程实现.pdf

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

HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY 数据结构 实 验 报 告 这里一定填写清楚自己选 择的实验层次。(基础、提 高或者挑战) 实验项目 实验类别 基础篇 学生姓名 学生学号 完成日期 指导教师 实验成绩 评阅日期 评阅教师 实验一 线性表基本操作的编程实现 【实验目的】 线性表基本操作的编程实现 要求: 线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的 编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构可以在顺序结构或链表结构中任选, 可以完成部分主要功能,也可以用菜单进行管理完成大部分功能。还鼓励学生利用基本操作进行一些更实 际的应用型程序设计。 【实验性质】 验证性实验 (学时数:2H) 【实验内容】 把线性表的顺序存储和链表存储的数据插入、删除运算其中某项进行程序实现。建议实现键盘输入数 据以实现程序的通用性。为了体现功能的正常性,至少要编制遍历数据的函数。 【注意事项】 1.开发语言:使用C。 2.可以自己增加其他功能。 【实验分析、说明过程】 在第i 个学生信息插入时,把第i 个学生之后的所有节点依次向后移动一个 位置。再将新的节点X 插入到第i 的位置。由于要插入一个新的节点,原来数组 的长度发生了变化。数据的存储空间位置也随之发生了变化,为此,我们将最后 一个节点向后移动,利用for 循环插入节点之后的依次向后移动,直到所有的元 素都向后移动了一位。对于顺序链表的删除实际上与其插入相反,只需要将表中 第i+1 个到第n 个节点的所有元素依次向前移动一个位置。 【思考问题】 1.线性表的顺序存储和链表存储的差异?优缺点分析? 线性表的顺序表:指的是用一组地址连续的存储单元,依次存储线性表的数据 元素。 线性表的顺序存储结构具备如下两个基本特征: ①线性表中的所有元素所占的存储空间是连续的。 ②线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。线性表逻 辑上相邻、物理也相邻。 优点: ① 无须为表示结点间的逻辑关系而增加额外的存储空间。 ② 可以方便的随机存取表中的任一结点。 ③ 存储密度大(=1),存储空间利用率高。 缺点: ① 插入和删除运算不方便,需移动大量元素。 ② 由于要求占用连续的存储空间,存储分配只能按最大存储空间预先进行, 致使存储空间不能得到充分利用。 ③ 表的容量难以扩充。 线性表的链式存储:指用一组任意的存储单元存储线性表中的数据元素。线 性表的链式存储结构具备的基本特征: 链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分 存放结点值,另一部分存放表示结点间关系的指针。 优点: ① 插入、删除操作很方便,可通过修改结点的指针实现,无须移动元素。 ② 方便扩充存储空间。 缺点:① 不能随机存取元素。② 存储密度小( 小于1 ),存储空间利 用率低。 2.那些操作引发了数据的移动? 插入、删除、排序、归并。 3、算法的时间效率是如何体现的? 通过时间频度和时间复杂度来体现的。 4、链表的指针是如何后移的?如何加强程序的健壮性? p=p->next 使指针后移,就是把p 所指向结点的指针域的值重新给指针p。 增加程序的容错控制;算法尽量避免一些隐患错误;降低时间复杂度;尽 量少执行一些复杂的操作;提高算法的效率等。 【实验小结】 (总结本次实验的重难点及心得、体会、收获) 通过这次写实验,我理解了这门课的本质。数据结构像是身体的骨骼,而C 语言

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档