实验四 链队列各种操作的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四栈、链队列各种操作的实现
一、实验目的
1.掌握栈、队列的抽象数据类型。
2.掌握实现栈、队列的各种操作的算法。
1.掌握栈、队列的链式存贮结构及基本操作,深入了解栈、链队列的基本特性,以便在实际问题背景下灵活运用它们。
二、实验环境
⒈硬件:每个学生需配备计算机一台。
操作系统:DOS或Windows;
⒉软件:DOS或Windows操作系统+Turbo C;
三、实验要求
栈:
⒈用C描述栈的每种操作在顺序栈或链栈上的实现。
2.将建栈、初始化栈、判断栈是否非空、求栈的长度、输出从栈顶到栈底的元素分别
定义为5个子函数,通过主函数实现对上述子函数的调用。
3.输入数据:链表中每个结点为结构体类型,数据域(data)设定为整型。
队列:
⒈用C描述每种操作在链队列上的实现。
2.将建队列、初始化队列、判断队列是否非空、求队列的长度、输出队列的元素分别
定义为5个子函数,通过主函数实现对上述子函数的调用。
3. 输入数据:数据域(data)设定为整型。
四、实验内容
附:参考程序为类C语言程序,非标准C语言程序,需要进行相应的修改。
栈:参考程序P58-60
队列:P61-64
五、报告要求
1.报告要求用专门的实验报告纸书写,字迹清晰,格式规范。
2.报告中应写清姓名、学号、实验日期、实验题目、实验目的、实验要求。
3.报告中应书写源程序,且源程序中要有注释。
4.报告中应包含运行结果及结果分析。
如调试通过,请注明‘通过’并写出输入的数据及运行结果;如未调试通过或结果不正确,试分析原因。
5.报告最后包含实验总结和体会。
六、思考题
在以上实现的基础上,实现停车场问题:
设停车场是一个可停放N辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停了n辆汽车,则后来的汽车只能在门外的通道上等候,一旦有车开走,则排在通道上的第一辆车即可开入;当停车场内每辆车要离开时,在它之后进入的车辆必须先退出停车场为其让路,待该辆车开出大门,其他车辆再按原次序进入停车场。
请为停车场编写按上述要求进行管理的模拟程序。