华科数据结构实验报告

上传人:bin****86 文档编号:59850940 上传时间:2018-11-12 格式:DOCX 页数:21 大小:21.72KB
返回 下载 相关 举报
华科数据结构实验报告_第1页
第1页 / 共21页
华科数据结构实验报告_第2页
第2页 / 共21页
华科数据结构实验报告_第3页
第3页 / 共21页
华科数据结构实验报告_第4页
第4页 / 共21页
华科数据结构实验报告_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《华科数据结构实验报告》由会员分享,可在线阅读,更多相关《华科数据结构实验报告(21页珍藏版)》请在金锄头文库上搜索。

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划华科数据结构实验报告课程实验报告课程名称:专业班级:计算机科学与技术1305班学号:UXX14907姓名:韩非指导教师:许贵平报告日期:XX/5/31计算机科学与技术学院目录1课程实验概述.12实验一基于顺序结构的线性表实现.1实验内容与要求.1程序概要设计.1数据结构与算法设计.2输入输出设计.3源程序及注释.4程序测试与结果.18复杂性分析.213实验二基于链式结构的线性表实现.22程序概要设计.22程序概要设计.22数据结构与算法设计.22输入输出设计.24源程序及注释.24程

2、序测试与结果.39复杂性分析.424实验三基于二叉链表的二叉树实现.43实验内容与要求.43程序概要设计.43数据结构与算法设计.44输入输出设计.46源程序及注释.46程序测试与结果.57复杂性分析.605实验总结与评价.606参考书目.611课程实验概述本次课程实验旨在加强学生课堂理论学习之后增强上机能力,熟练掌握并应用数据结构中的两种逻辑结构的典型代表线性表和树。线性表的顺序存储具有随机存取的功能,而链式存储能有效的利用动态存储空间,学会合理的选择这两种存储方式,看似简单,但在实际应用具有很大的用处。而树是非线性逻辑结构的代表,树模型的建立可以说完全建立在递归思想之上,树的几乎所有操作都

3、涉及到递归调用,当然我们也可以用栈来实现非递归调用,但是其思想也是相近的。因此树的实验旨在帮助我们递归思想的建立和成熟。2实验一基于顺序结构的线性表实现实验内容与要求实验内容:基于顺序存储结构,实现线性表ADT,具有10种基本运算。具体要求:1.提供一个实现功能的演示系统。2.具体物理结构和数据元素类型自定。3.线性表数据可以使用磁盘文件永久保存。程序概要设计1.明确基本功能程序需要实现的12个基本功能分别是:IntiaList,DestroyList,ClearList,ListEmpty,ListLength,GetElem,LocatElem,PriorElem,NextElem。Lis

4、tInsert,ListDelete,ListTrabverse,此外还有辅助功能:Load,Save2.确定各功能实现的函数参数statusIntiaList(SqList*L);statusDestroyList(SqList*L);statusClearList(SqListL);statusListEmpty(SqListL);intListLength(SqListL);statusGetElem(SqListL,inti,Elemtype*e);intLocatElem(SqListL,Elemtype*e);statusPriorElem(SqList*L,Elemtypecur

5、,Elemtype*pre_e);statusNextElem(SqListL,Elemtypecur,Elemtype*next_e);statusListInsert(SqList*L,Elemtypee,inti);statusListDelete(SqList*L,Elemtype*e,inti);statusListTrabverse(SqListL,void(*visit)(Elemtypee);voidSave(SqListL);statusLoad(SqList*L);数据结构与算法设计为了满足概述中的功能,结合线性表结构,给出以下结构的定义:typedefintstatus;

6、typedefstructintitem1;Elemtype;typedefstructElemtype*elem;intlength;intlistsize;SqList,*L;算法设计:初始化线性表,传入的是头结点地址。申请一个大小为LIST_INT_SIZE、类型为Elemtype的线性存储空间,并用头结点中的首结点指针指向该空间首地址。:销毁头结点中首结点址针指向的线性存储空间,传入的是头结点地址。:与Destroy类似但是又有不同,ClearList并不销毁物理空间,而是修改逻辑关系值。:判空功能,判断表是否为空表。传入的是头结点值,而非地址,因为不需要对头结点进行修改。若长度为0,

7、表空,否则不空。:求表长功能,由于创建过程中已经把表长信息包含在头结点中,所以直接调用并显示即可。:获取第i号元素,传入的是头结点值、元素编号i、以及出口表结点地址。:取指定元素编号,传入头结点值、存储了所需元素信息的一个临时表结点值、equal函数地址。采用顺序比较法从表头遍历并比较,一旦找到,返回编号i。:求指定元素的前一个元素的内容,传入头结点值、包含指定元素信息的一个临时表结点值、存储前一个元素的表结点地址。主要思路是先调用LocatElem确定指定元素的位置,如果不是首结点则可直接取到PriorElem的地址。:与PriorElem功能类似,不再赘述。:插入一个数据(来自:写论文网:华科数据结构实验报告)元素,传入头结点地址、插入位置i、临时表结点值。在调用插入函数前构造一个临时表结点,用于存储数据元素信息。进入插入子函数,插入前先判断插入位置是否合理,再判断是否“满载”。如果满载则重新申请更大的存储空间。接下来正式插入数据元素,“先空位置再插入”。:删除一个数据元素,传入头结点地址、删除位置i。删除前先判断位置是否合理,先删除元素,然后将所有删除元素之后的元素前移一个位置。:传入头结点,循环访问各个元素,直至到表尾停止。输入输出设计1.输入:在输入方面,我采用了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号