《计算机软件技术基础》 实验报告I—数据结构 实验二:停车场管理问题 一、问题描述 1
实验题目: 设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个大门可供汽车进出
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端)
若停车场内已经停满 n 辆车,那么后来的车只能在门外的便道上等候
一旦有车开走,则排在便道上的第一辆车即可开入
当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场
每辆停放在车场的车在它离开停车场时必须按它停留的时间长短缴纳费用
试为停车场编制按上述要求进行管理的模拟程序
2.基本要求: 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进行模拟管理
每一组输入数据包括三个数据项:汽车的“到达”(‘A’表示)或“离去”(‘D’表示)信息、汽车标识(牌照号)以及 到达或离去的时刻
对 每一组输入数据进行操 作 后的输出信息为:若是车辆到达,则输出汽车在停车场内或者 便道上的停车位 置 ; 若是车辆离去,则输出汽车在停车场停留的时间和 应 缴纳的费用(便道上停留的时间不 收 费)
栈以顺序结构实现 ,队列以链 表结构实现
3.测 试数据: 设 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)
每一组输入数据包括三个数据项:汽车 “到达”或“离去”信息、汽车牌照号码 及 到达或离去的时刻 ,其中 ,‘A’表示到达;‘D’表示离去,‘E’表示输入结束
其中 :(‘A’,1,5)表示1号牌照车在 5 这 个时刻 到达,而 (‘D’,1,15)表示1 号牌照