栈与队列实验报告

栈与队列实验报告

ID:22518125

大小:87.50 KB

页数:8页

时间:2018-10-29

栈与队列实验报告_第1页
栈与队列实验报告_第2页
栈与队列实验报告_第3页
栈与队列实验报告_第4页
栈与队列实验报告_第5页
资源描述:

《栈与队列实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、栈与队列一,问题的提出在这次的实验当中,我选的题目是用队列的知识解决停车场问题。停车场问题的具体描述是:假设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由南向北排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车可以开入;当停车场的某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待这辆车开出大门之后,其他车再按原来的次序进入车场,每辆停放在车场的车在它离开停车场的时候必须按

2、它停留的时间长短交纳费用。二,需求分析总体来说这个程序主要包括三个部分:车辆到达,车辆离开,歹lj表显示。1,在这个程序当中,要完成这个任务:从键盘上输入车的车编号和而且车的编号是两位数然后通过程序可以得出一个具体的结果,这就需要创建一个栈,用大写A表示,然后再选择是进站还是出站,这就又需要创建一个栈,用大写B表示,这就完成了这个任务的前一半.剩下的就对这个栈的操作了.这个值得注意的问题是注意输入完车的编号的时候,应该通过程序先检查停车场内是否已经满了,还有就是停车场内的车辆如果要是出站的话,应该再为便道上的车辆创建一个栈。还冇就是车如果要出站的话

3、,离开停车场的吋候必须按照它在停车场停留的时间交纳相应的费用,这个相对来说比较简单。2,演示程序以用户和计算机的对话方式进行的,即在计算机终端显示”提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和显示结果显示在其后.3,其中比较重要的操作就是需另设一个栈,临吋停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻3,程序执行的命令包括:1).编写栈的初始化、进栈和出栈算法。2).编写队列的初始化、进队

4、和出队算法。3).编写处理车辆到达和车辆离开情况的函数。4).编写一个主函数,将上面函数连在一起,构成一个完整的程序。主函数中输入车辆的编号,到达和离开时间。5)将实验源程序调试并运行,写出输入、输出结果。4,一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位罝;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现1,车辆到达,车辆离开及其列表查询程

5、序的分析在车辆要进入停车场时,首先要判断停车场内车位是否已满,if(Enter->toprOOm则车辆离开,否则重新输入。当车辆离开后,若便道理有车,即W-〉head!=W-〉rear和Enter-〉top〈MAX同时满足,则便道理的车依次进入停车场,若便道里没有牟,则返冋主程序在列表査询中,首先选择是

6、查询停车场的信息,还是查询便道理车辆的信息,若是查询停车场里的信息,则调用子程序Listl(SeqStackCar*S)通过子程序Listl(SeqStackCar*S)实现停车场内部的信息显示。再次子程序中,先判断停车场内的车辆是否为空,不空则输出车位及车牌号,否则输出车场里没有车。若查询便道理的车辆信息,则需要调用子程序List2(LinkQueueCar*W),其程序思想与子程序Listl(SeqStackCar*S)类似,如果W->head!=W->rear,说明有车辆等待,输出信息,否则说明变到里面没有车辆等待。三,概要设计为了实现上述程

7、序的功能,应以创建一个栈用来管理进入和出去的汽车,为此,需要两个抽象数据类型。在写程序之前我们要先熟悉一不队列的定义及其他方面的内容一,预备知识1.队列的学习要点熟练掌握在两种存储结构上实现队列的基本运算,特别注意队满和队空的条件以及如何描述;掌握队列的特点、操作原则;熟练掌握循环队列和链队列的棊本操作;懂得在什么情况下会应用到队列。2.队列的概念和操作原则队列是限定只能在表的一端进行插入,另一端进行删除的线性表。通过定义我们要注意以几点:队列还是线性表,不过在操作中不能随心所欲,只能做限定的某些动作;队列的操作原则是先进先出(FIFO);入队操作

8、只能从称为队尾的一端进行;出队操作只能从队列的另外一端,即称为队头的一端进行;队列的中间不能进、出元素;同一个队列中的元素

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。