以下为《(数据结构)实验报告单》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
***
实验报告单
(2019 — 2020学年 第一学期)
课程名称 数据结构
姓 名:刘某某
学 号:***2018
专 业:数字媒体技术
班 级:2018级数字媒体技术班
指导教师:贾某某
实验成绩:
实验报告
实验项目名称
线性表的应用
实验室名称
实验类型
实验性质
实验日期
计算机基础实验室
设计性
设计型
9.5-9.19
一、实验目的
1.理解和掌握顺序表和链表的结构类型定义方法;
2.掌握线性表的顺序和链式存储结构的描述方法;
3.掌握线性表的两类存储结构(顺序表和链表)上的基本算法尤其是插入删除算法。
二、实验设备环境
1.达到运行C程序基本要求的计算机。
2.计算机需安装有DEV-C++。
三、实验的理论依据
理论知识要求:
线性表的两类存储结构。
专业技能要求:
线性表的顺序和链式存储结构的描述方法;线性表的两类存储结构(顺序表和链表)上的基本算法尤其是插入删除算法。
四、实验内容及步骤
1. 编程实现顺序表和单某某
先创建顺序表,定义线性表可能到达的最大长度MAX=100,定义#define OK 1 与#define ERROR 0 ,要实现在顺序表L中第i个数据元素之前插入一个元素e。利用if((iL->last+2) 先判断插入位置是否合法,如果表已满不能插入,则返回ERROR,合法则返回OK,要实现元素的读取, 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 表,运用for语句循环实现,生成一个新的指针p,并且p->data,实现p->next=L.next和L->next=p。
尾插法:创建一个只有头结点的空链表,设置一个尾指针r,并让它指向头结点,运用一个for语句实现循环,实现p->next=NULL和r->next=p并且r=p。
第六步:单某某的删除
设置一个指针p,将要删除的结点。
3. 将上题的存储结构改为单某某,同样实现就地逆置。
先定义LinkList ReverseList( LinkList head),设置两个指针变量,if( head->next && head->next->next)当链表不是空表时,利用while循环q,循环p=q; q=q->next ; p->next = head-> next ; head->next = p;语句最后返回head,实现操作。
五、结论分析及改进建议
1.顺序表中,不能出现Status的类型,可以用void来代替。
2.顺序表的存储空间时会预先分配,会导致空间闲置或溢出现象。而链表的动态分配并不会出现空间闲置或溢。
总结
链表的删除与插入操作类似,要考虑前后结点的连接关系,在输出的时候,为了使程序可以更加简洁,直接在return中去写需要返回的数值,并且讲一些不必要的定义数值删除掉,改变自定义数值的字母时,一定要注意,不能使用特定的单词。
改进:改变自定义数值的字母时,一定要注意,不能使用特定的单词。
六、教师评语
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《(数据结构)实验报告单》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。