栈与队列 实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
安徽师范大学
数学计算机科学学院实验报告 专业名称
实 验 室实验课程
实验名称
姓 名
学 号
同组人员实验日期
计算机科学与技术 数据结构 陈阳 130704069 2014/11/21
1.实验目的
加深对栈以及队列理解,提升对其运用的综合能力。
2.实验原理
利用栈的先进后出的特性以及链队的特性切合停车场车辆进出的原理,对其进行改进,组成停车场系统。
3(需求
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
(1)程序所能达到的基本可能:
程序以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进行模拟管理。栈以顺序结构实现,队列以链表结构实现。同时另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。输入数据按到达或离去的时刻有序。当输入数据包括数据项为汽车的“到
达”(1表示)信息,汽车标识(牌照号)以及到达时刻时,应输出汽车在停车场内或者便道上的停车位置;当输入数据包括数据项为汽车的“离去”(2表示)信息,汽车标识(牌照号)以及离去时刻时,应输出汽车在停车场停留的时间和应缴纳的费用(便道上停留的时间不收费);当输入数据为3时,应输出停车场的车数;当输入数据为4时,应输出候车场车数;当输入数据为5,则退出。
(2)输入输出形式及输入值范围:
程序运行后进入循环,显示提示信息,提示用户输入车辆信息(“到达”或者“离开”,车牌编号,到达或者离开的时间)。若车辆信息为“到达”,车辆信息开始进栈(模拟停车场),当栈满,会显示栈满信息,同时车辆进队列(模拟停车场旁便道),并显示该进入便道车辆的车牌编号,让用户知道该车的具体位置;若车辆信息为“离开”,会显示该车进入停车场的时间以及相应的停车费用,若该车较部分车早进停车场,这部分车需先退出停车场,暂时进入一个新栈为其让道(隐藏),当待离开车离开停车场后,这部分车会重新进入停车场,同时便道上的第一辆车进入停车场;若输入3,会显示停车场的车数;若输入4,会显示便道上的车数;若输入5,程序会跳出循环,同时程序结束;若输入为其他,程序会报错。若便道上没有车辆停靠,会显示便道为空的信息:用户每输入一组数据,程序就会根据相应输入给出输出。
(3)测试数据
进入3辆车,操作为 1 100
1 101
1 102
同时每次显示停车场剩余车辆以及便道剩余车辆;
退出3辆车,操作为 2 100
2 101 2 102
同时每次显示停车场剩余车辆以及便道剩余车辆;
4.概要设计
为了实现上述功能,该程序以栈模拟停车场以及临时停放为给要离去的汽车让路而从
停车场退出来的汽车的场地,以队列模拟车场外的便道,因此需要栈和队列这两个抽象数据
类型。
(1)栈抽象数据类型定义:
ADT SqStack{
数据对象:D={ai,bi,ci,di|ai?int,bi?int,ci?int,di?char,
i=1,2,3....,n,n?0}
数据关系:R={(ai,bi,di)|ai,bi,di?D,ai,bi,di?struct car};
基本操作:
Operation_Output(s,q,r);//根据r中车辆信息控制车辆是入栈s还是
入队q以及相关操作
In_Cars(s,q, a);//将到达车辆a的信息入栈s或者入队q
Out_Cars(s,q, d);//将待离开车辆d出栈s,并将q中相应车辆
入栈并进行相关的操作
}ADT SqStack
(2)队列抽象数据类型定义:
ADT LinkQueue{
数据对象:D={ai,bi,ci|ai?Qnode *,bi?Qnode
*,ci?int,i=1,2,3....,n,n?0};
数据关系:R=?;
基本操作:
Operation_Output(s,q,r);//根据r中车辆信息控制车辆是入栈s
还是入队q以及相关操作
In_cars(s,q, a);//将到达车辆a的信息入栈s或者入队q
Out_cars(s,q, d);//将待离开车辆d出栈s,并将q中相应车
辆入栈并进行相关的操作
}ADT LinkQueue
(3)主要算法流程图:
I(In_cars算法流程图:
II(Out_cars算法流程图:
4.本程序模块:
主函数模块
栈单元模块:实现栈的抽象数据类型
队列单元模块:实现队列的抽象数据类型
调用关系:
5.详细设计
源码附在压缩文件包中.
6(调试分析
(1)在进行多次对同一车辆的进出操作后会程序报错,问题暂未解决
(2)在停车场已经满了的情况下便道也有车辆时,将停车场车辆开出一辆有时便道车辆进入操作时会有报错,经过修改解决了频繁的报错,但是偶尔还是有报错。
(3)在对栈与队列的结合使用的时候,出现了很多错误,结构混乱,但是修改过来之后对这些结构已经有了比以前更清晰的认识。
7(测试数据