1、数据结构课程设计报告 1 停车场模拟管理程序的设计与实现停车场模拟管理程序的设计与实现 一、一、简介简介 1设计目的: 理解线性表的逻辑结构和存储结构, 进一步提高使用理论知识指 导解决实际问题的能力。 2问题的描述: 设停车场只有一个可停放几辆汽车的狭长通道, 只有一个大门可 供汽车进出。汽车在停车场内按车辆到达的先后顺序依次排列, 若车 场内已停满几辆汽车, 则后来的汽车只能在门外的便道上等候, 一旦 停车场内有车辆开走, 则排在便道上的第一辆汽车即可进入;当停车 场内某辆汽车要开走时,由于停车场是狭长的通道,在它之后开入的 车辆必须先推出车场为他让路,待车辆开出大门, 为他让路的车辆再
2、按原次序进入车场。试设计这样一个停车场模拟管理程序。 二、二、数据结构的设计:数据结构的设计: 对车的信息的定义,只有一个车牌号 数据结构课程设计报告 2 定义栈,用于表示车位 定义一个队列,并定义头尾指针 栈 s1,s2 分别用于表示车位和辅助站,队列 p 用于表示便道 创建队列,并初始化 数据结构课程设计报告 3 队列中元素的输入与删除,表示了有车进入便道和离开便道 有车进入停车场:如果有空车位,进入车位;否则,进入便道等 候 数据结构课程设计报告 4 有车离开车位:1 进行查找,从栈的最后一位开始找起,不符合 的辅助栈;2 查找成功,将其出栈,辅助栈汽车重新回到车位中;并 使便道上的车进
3、入车位,将车位补满;3 查找失败,进行下方 else, 将进入辅助站的车重新返回车位上,并显示没有此车 数据结构课程设计报告 5 显示停车位信息:1 如果车位为空,显示没有车 2 车位上有车, 显示第几号车位及停放车辆的车牌号 数据出栈,表示有车离开车位,top 和 z 相应减一,并返回栈内 数据的数量 创建栈,数据进栈,并有判满和数据计数器相应加一 数据结构课程设计报告 6 用的是一个 switch 语句实现输入不同操作选项,调用不同的函 数,进入不同的操作板块 三、三、功能功能(函数)(函数)设计设计: 1 1 车辆进入停车场模块:车辆进入停车场模块: 停车场模拟管理程序停车场模拟管理程序
4、 的设计与实的设计与实现现 车 辆车 辆 进 入进 入 停 车停 车 场 模场 模 块块 车 辆车 辆 离 开离 开 停 车停 车 场 模场 模 块块 停 车停 车 场 信场 信 息息 显显 示示 模模 块块 退 出退 出 停 车停 车 场 信场 信 息 模息 模 块块 数据结构课程设计报告 7 Arrive 函数:有车进入停车厂; s-top=maxsize-1:对栈进行判满,f=0,栈满,调用 Enlinkqueue 函数;f=1,栈不满,调用 Push 函数; Push 函数:使车进入车位; Enlinkqueue 函数: 车位已满,使车停入便道,等候进入车位; 2 2 车辆离开停车场模块车辆离开停车场模块: : Arrive 函数 s-top=maxsize-1 ? Push 函数 Enlinkqueue 函数 f = 1 f = 0 数据结构课程设计报告 8 Leave 函数:有车要离开车位; y.num!=x.num: 查找车位上是否存在要离开的车, 是 f=0,不是, f=1; n=push(s2,y);y=pop(s1):f=1