数据结构设计:停车场管理姓名:韦邦权专业:2024 级计算机科学与技术学号:13224624班级:13052316完成日期:2024
191 问题描述设停车场是一个可停放 n 辆汽车的狭长通道,且只有一个门可供出入
汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满 n 辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆汽车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原顺序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用
2 需求分析(1)根据车辆到达停车场到车辆离开停车场时所停留的时间进行计时收费
(2)当有车辆从停车场离开时,等待的车辆按顺序进入停车场停放
实现停车场的调度功能
(3)用顺序栈来表示停车场,链队表示停车场外的便道
(4)显示停车场信息和便道信息
(5)程序执行的命令为:车辆进入停车场 车辆离开停车场 显示停车场的信息
3 概要设计3.1 抽象数据类型定义(1)栈的抽象数据类型定义AST Stack{数据对象:D={ai|ai∈ElemSet,i=1,2,
,n, n≥0}数据关系:R1={〈ai—1,ai>|ai-1,ai∈D,i=2,
,n}约定 an 端为栈顶,a1 端为栈底
基本操作: InitStack(&S) 操作结果:构造一个空栈 S
DestroyStack(&S)初始条件:栈 S 已存在
操作结果:栈 S 被销毁
ClearStack(&S)初始条件:栈 S 已存在
操作结果:将栈 S 清为空栈
StackEmpty(S)初始条件:栈 S 已存在
操作结果:若栈 S 为空栈,则返回 TRUE,否则 FALSE
StackLength(