1 / 24
文档名称:

中南大学数据结构实验报告.docx

格式:docx   大小:243KB   页数:24页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

中南大学数据结构实验报告.docx

上传人:916581885 2021/7/14 文件大小:243 KB

下载得到文件列表

中南大学数据结构实验报告.docx

文档介绍

文档介绍:中南大学
数据结构试验报告
题 目 实验二
学生姓名 王云鹏
学 号
指导老师 郑 瑾
学 院 计算机学院
专业班级 物联网1802
完成时间
指导老师评定 签名
实验二
需求分析
1.栈和队列操作的实现(验证性实验)
问题描述
(1) 建立一个顺序栈。
(2) 建立一个循环顺序队列。
(3) 分别实现栈和队列的基本操作。
2.数制转换问题(设计性实验)
问题描述
十进制数n和其他d进制数的转换是计算机实现计算的基本问题,其解决方案很多,其中最简单的
方法基于下列原理,即除d取余法。例如,(1348)10=(2504)8。
N
n div 8
n mod 8
1348 168 4
168 21 0
21 2 5
2 0 2
从中可以看出,最先产生的余数4是转换结果的最低位,这正好符合栈先进后出的特性,所以可
以用顺序栈来模拟这个过程。
基本要求
从键盘输入任意一个非负的十进制整数,打印输出与其等值的八进制数。由于上述的计算过程是
从低位到高位顺序产生的八进制数的各个数位,而打印输出一般来说应从高位到低位进行,恰好与计
算过程相反。因此,可以先将计算过程中得到的八进制数的各位进栈,待相对应的八进制数的各位均
产生以后,再使其按顺序出栈,并打印输出。这样就得到了与输入的十进制数相对应的八进制数。
测试数据
由读者依据软件工程的测试技术自己确定。注意测试边界数据
5. 停车场管理(综合性实验)
问题描述
设停车场内是一个可停放n辆汽车的狭长区域,且只有一个大门可供汽车进出。在停车场内,汽
车按到达时间的先后顺序,依次由北向南排列(假设大门在最南端,最先到达的那辆车停放在车场的
最北端)。若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候。一旦有车开走,则排在
便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它
让路,待该车开出大门外,其他车再按原次序返回停车场。每辆停放在车场的车离开停车场时,必须
按其停留时间的长短交费。试为停车场编制按上述要求进行管理的模拟程序。
测试数据
设n=2,输入数据为(A, 1, 5)、(A, 2, 10)、(D, 1, 15)、(A, 3, 20)、(A, 4, 25)、(A, 5, 30)、(D, 2, 35)、
(D, 4, 40)和(E, 0, 0)。每一组输入数据包括3个数据项:汽车“到达”或“离去”信息、汽车牌照号码
及到达或离去的时刻,其中,“A”表示到达,“D”表示离去,“E”表示输入结束。
基本要求
以顺序栈模拟停车场,以链队列模拟便道,按照从终端读入的输入数据序列进行模拟管理。每一
组输入数据包括3项:是“到达”还是“离去”、汽车牌照号码及“到达”或“离去”的时刻。对每一
组输入数据进行操作后的输出数据为:如果是到达的车辆,则输出其在停车场内或便道上的停车位置;
如果是离去的车辆,则输出其在停车场内的停留时间和应交的费用(在便道上停留的时间不收费)。
栈以顺序结构实现,队列以链表实现。
实现提示
需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实
现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照
号码和进入停车场的时刻。
选作内容
(1) 两个栈共享空间,思考应开辟数组的空间是多少?
(2) 汽车可有不同种类,则它们的占地面积不同,收费标准也不同,
占地面积相同,1辆十轮卡车占地面积相当于3辆小汽车的占地面积。
(3) 汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。
(4) 停放在便道上的汽车也收费,收费标准比停放在停车场的车低,请思考如何修改结构以满足
这种要求。
概要设计
验证性实验
函数:
设计性实验
函数:
综合性实验
函数:
详细设计
验证性实验
#include<>
#in