完美WORD格式.整理
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY
数据结构 实 验 报 告
实验项目 学生姓名 完成日期 指导教师 实验成绩 评阅教师
. 专业资料分享 .
实验一 宋大超 实验类别 学生学号 2016-10-9 袁科 基础篇 201501149 评阅日期 完美WORD格式.整理
实验一 线性表基本操作的编程实现
【实验目的】
线性表基本操作的编程实现 要求:
线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构可以在顺序结构或链表结构中任选,可以完成部分主要功能,也可以用菜单进行管理完成大部分功能。还鼓励学生利用基本操作进行一些更实际的应用型程序设计。
【实验性质】
验证性实验(学时数:2H)
【实验内容】
把线性表的顺序存储和链表存储的数据插入、删除运算其中某项进行程序实现。建议实现键盘输入数据以实现程序的通用性。为了体现功能的正常性,至少要编制遍历数据的函数。
【注意事项】
1.开发语言:使用C。
2.可以自己增加其他功能。
【实验分析,说明过程】
. 专业资料分享 .
完美WORD格式.整理
本次实验主要是检验单链表数据的插入与删除。实验的第一部分是要求将学生e的信息插入到第i个学生的前面,也就是在两个节点之间建立新的节点。我们此次实验有两个要求。第一个是将一个新的学生信息插入到原来的学生信息当中去。第二个要求是要删除一个学生的信息。以下我将通过示意图和文字的方式说明这次实验的完成方法。需要说明的是此处的i表示学生信息的一个序号元素。 在第i个学生信息插入时,就得把第i个学生之后的所有节点依次向后移动一个位置。在将新的节点X插入到第i的位置。 1 2 3 4 n 1 2 3 4 5 n Stu[1] Stu[2] Stu[3] Stu[4] e Stu[n] Stu[1] Stu[2] Stu[3] Stu[4] Stu[n] 如上图所示,例如将学生e的信息插入到第五个位置。我们先将指针指向最后一个位置,由于要插入一个新的节点,原来数组的长度发生了变化。数据的存储空间位置也随之发生了变化,为此,我们将最后一个节点向后移动,利用for循环将第五个节点之后的依次向后移动,直到所有的元素都向后移动了一位。 对于顺序链表的删除工作实际上与其插入工作相反,只需要将表中第i+1个到第n个节点的所有元素依次向后移动一个位置。 1 2 3 4 5 1 2 3 4 Stu[1] Stu[2] Stu[4] Stu[5] Stu[1] Stu[2] Stu[3] Stu[4] Stu[5] 如上图所举例的那样,当我们删除第三个元素是,第三个元素后面的元素依次向前移动了一位。我们可以直接找到第i个元素后面的位置将其向前移动一个。 . 专业资料分享 .
相关推荐: