- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》实验指导书
———————————————————————————————— 作者:
———————————————————————————————— 日期:
?数据构造?
实验指导书
肇庆学院 计算机学院/软件学院 编
前 言
数据构造是信息与计算科学专业中一门重要的专业根底课程。当用计算机来解决实际问题时,就要涉及到数据的表示及数据的处理,而数据表示及数据处理正是数据构造课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打下了厚实的知识根底,同时也提供了必要的技能训练。因此,数据构造课程在计算机应用专业中具有举足轻重的作用。
本书是针对?数据构造?教程的上机实验指导书,内容包括线性表、栈和队列、串、数组和稀疏矩阵、递归、树状构造、图、查找、排序等。书后附录中给出了学生应提交的实验报告的格式。
本上机实验指导书旨在通过指导学生上机实践,对常用数据构造的根本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储构造上实现不同的运算方式和技巧有所体会。
本实验指导书的内容都是基于C语言的,因此,要求学生对C语言要有一定的了解。建议使用Turbo C 2.0或VC++作为实验平台。根据学生的实际情况,本上机实验指导书的内容大多数为根本算法的综合验证,也包括局部算法设计。本上机实验指导书共有9个实验内容,每个实验约为4课时。
由于作者对?数据构造?知识所知有限,书中难免存在错误,恳请读者及时加以指正,以便改良。如有对于本书的意见和建议,请与编者联系,E-mail:lg@zqu.edu.cn。衷心感谢!
编 者
目录
前 言 TOC \o 1-1 \h \z
实验一 顺序表 1
实验二 单链表 3
实验三 栈和队列 5
实验四 串 7
实验五 数组 8
实验六 树和二叉树 10
实验七 图 12
实验八 查找 14
实验九 排序 16
参考资料 18
附录1:肇庆学院计算机系实验报告格式 19
附录2:上机实习考前须知 21
实验一 顺序表
一、预备知识
1. 顺序表的存储构造形式及其描述
2. 顺序表的建立、查找、插入和删除操作
二、实验目的
1. 掌握顺序表的存储构造形式及其描述
2. 掌握顺序表的建立、查找、插入和删除操作
三、实验内容
1. 编写函数,输入一组整型元素序列,建立一个顺序表。
2. 编写函数,实现对该顺序表的遍历。
3. 编写函数,在顺序表中进展顺序查找某一元素,查找成功那么返回其存储位置i,否那么返回错误信息。
4. 编写函数,实现在顺序表的第i个位置上插入一个元素x的算法。
5. 编写函数,实现删除顺序表中第i个元素的算法。
6. 编写利用有序表插入算法建立一个有序表的函数。
7. 编写函数,利用以上算法,建立两个非递减有序表,并把它们合并成一个非递减有序表。
8. 编写函数,实现输入一个元素x,把它插入到有序表中,使顺序表依然有序。
9. 编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法。
四、实验说明
1.顺序表的存储定义
#define MAXSIZE 100 //顺序表的最大元素个数
typedef int ElemType;//顺序表的元素类型
typedef struct list
{ElemType elem[MAXSIZE];//静态线性表
int length; //顺序表的实际长度
} SqList;//顺序表的类型名
五、注意问题
1. 插入、删除时元素的移动原因、方向及先后顺序。
2. 理解不同的函数形参与实参的传递关系。
六、实验报告
根据实验情况和结果撰写并递交实验报告。
实验二 单链表
一、预备知识
1. 动态链表的存储构造形式及其描述
2. 单链表的建立、查找、插入和删除操作
二、实验目的
1. 掌握单链表的存储构造形式及其描述
2. 掌握单链表的建立、查找、插入和删除操作
三、实验内容
1. 编写函数,实现随机产生或键盘输入一组元素,建立一个带头结点的单链表〔无序〕。
2. 编写函数,实现遍历单链表。
3. 编写函数,实现把单向链表中元素逆置〔不允许申请新的结点空间〕。
4. 编写函数,建立一个非递减有序单链表。
5. 编写函数,利用以上算法,建立两个非递减有序单链表,然后合并成一个非递减链表。
6. 编写函数,在非递减有序单链表中插入一个元素使链表仍然有序。
7. 编写函数,实现在非递减有序链表中删除值为x的结点。
8. 编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法。
四、实验说明
1. 单链表的类型定义
#include stdio.h
typedef int
文档评论(0)