没有合适的资源?快使用搜索试试~ 我知道了~
数据结构停车场管理问题.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 115 浏览量
2022-07-11
16:10:25
上传
评论
收藏 270KB PDF 举报
温馨提示
试读
16页
目录 一、要解决的问题................................................................ 1 二、基本要求.........................................................................1 三、算法基本思想描述........................................................ 1 四、详细设计.........................................................................2 1. 数据结构的设计...........................................................2 (1)车辆信息的表示.................................................2 (2)时间、栈和队列的定义....................................2 2. 算法的设计
资源推荐
资源详情
资源评论
目录
一、要解决的问题 ................................................................ 1
二、基本要求 ......................................................................... 1
三、算法基本思想描述 ........................................................ 1
四、详细设计 ......................................................................... 2
1. 数据结构的设计 ........................................................... 2
( 1 )车辆信息的表示 ................................................. 2
( 2 )时间、栈和队列的定义 .................................... 2
2. 算法的设计思想及流程图 .......................................... 3
( 1 )主要函数的功能说明 ........................................ 3
( 2 )模块结构及流程图 ............................................ 4
( 3 )主要模块算法描述 ............................................ 6
五、源程序清单 ..................................................................... 6
六、测试数据及测试结果 .................................................. 12
七、课程设计总结及心得体会 .......................................... 14
1
实验题目:停车场管理系统
一、要解决的问题
停车场是一条可以停放 n 辆车的狭窄通道,且只有一个大门汽车停放安到达时间的先后依
次由北向南排列 ( 大门在最南端 , 最先到达的第一辆车停在最北端 ) 若停车场已经停满 n 辆车
,
后来的汽车在便道上等候,一旦有车开走,排在便道上的第一辆车可以开入;当停车场的某辆
车要离开时,停在他后面的车要先后退为他让路,等它开出后其他车在按照原次序开入车场,
每两停在车场的车要安时间长短缴费 。 要求 : 以栈模拟停车场 , 以队列车场外的便道 , 按照从
终端输入的数据序列进行模拟管理。每一组数据包括三个数据项:汽车 “ 到达 ” 或 “ 离去 ” 信
息、汽车牌照号码、以及到达或离去的时刻。对每一组数据进行操作后的信息为:若是车辆到
达,则输出汽车在停车场的内或便道上的位置:若是车辆离去则输出汽车在停车场内的停留时
间和应缴纳的费用 ( 在便道上的停留时间不收费 ) 。 栈以顺序结构实现 , 队列以链表结构实现 。
二、基本要求
( 1 )界面友好,函数功能要划分好
( 2 )总体设计应画一流程图
( 3 )程序要加必要的注释
( 4 )要提供程序测试方案。
三、算法基本思想描述
由于停车场是一个狭窄通道,而且只有一个大门可供汽车进出,问题要求汽车停车场内按
车辆到达时间的先后顺序,依次由北向南排列。由此很容易联想到数据结构中的堆栈模型,因
此可首先设计一个堆栈,以堆栈来模拟停车场, 我设计用顺序存储结构来存储停车场内的车辆
信息,并给车辆按进栈顺序编号, 当停车场内某辆车要离开时,在他之后进入的车辆必须先退
出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入停车场。这是个一退一进的
2
过程,而且让道的汽车必须保持原有的先后顺序,因此可再设计一个堆栈,以之来暂时存放为
出站汽车暂时让道的汽车。当停车场满后,继续进来的汽车需要停放在停车场旁边的便道上等
候,若停车场有汽车开走,则按排队的先后顺序依次进站,最先进入便道的汽车将会最先进入
停车场,这完全是一个先进先出模型,因此可设计一个队列来模拟便道,队列中的数据元素设
计成汽车的车牌号 ,并以链表的形式存储 。另外,停车场根据汽车在停车场内停放的总时长来
收费的,在便道上的时间不计费,因此必须记录车辆进入停车场时的时间 和 车辆离开停车场时
的时间, 然后计算、显示费用情况 。
四、详细设计
1.
1.
1.
1.
数据结构的设计
数据结构的设计
数据结构的设计
数据结构的设计
( 1
1
1
1 )车辆信息的表示
车辆可看成是一个节点,设计成一个结构体,车辆信息包括:车牌号码,车辆的进站时间和离
开停车的时间,定义如下:
typedef struct node{
char num[10]; // 车牌号码
Time reach; // 到站时间
Time leave; // 离开时间
}CarNode;
( 2
2
2
2 )时间、栈和队列的定义
时间是由小时和分钟表示的 , 有两部分数据 , 所以 , 类似于复数的表示一样 , 设计两个
变量分别存储小时和分钟。如:
typedef struct time
{
int hour;
int min;
}Time;
停车场内用栈表示:
typedef struct NODE
{
CarNode *stack[MAX+1]; // 栈用顺序表示
3
int top;
}SeqStackCar;
便道上的车辆表示:
typedef struct car
{
CarNode *data; // 便道上的车用链表表示
struct car *next;
}QueueNode;
typedef struct Node
{
QueueNode *head; // 设置头指针、尾指针 。 。
QueueNode *rear;
}LinkQueueCar;
2
2
2
2 .
.
.
. 算法的设计思想及流程图
算法的设计思想及流程图
算法的设计思想及流程图
算法的设计思想及流程图
( 1
1
1
1 )主要函数的功能说明
1 、 void InitStack(SeqStackCar *); // 车辆节点进栈
当栈未满时,就把到达的车辆进栈。
2 、 int InitQueue(LinkQueueCar *); // 车辆节点进队列
当栈满了时,车辆就进入便道上的队列中
3 、 int Arrival(SeqStackCar *,LinkQueueCar *); // 车辆到达登记
车辆到达时,先登记车辆车牌号码。然后再判断停车场有没有停满,没停满就进栈,停满
了就停在便道上,即进队列 。 。
4 、 void Leave(SeqStackCar *,SeqStackCar *,LinkQueueCar *); // 车辆离开处理
通过输入离开车辆的位置处理,然后调用 PRINT(CarNode *p,int room) ; 函数进行收费 。
。
然后再判断便道上有没有车,如果有,就把便道上的车进停车场内。
5 、 void List(SeqStackCar,LinkQueueCar); // 显示车场内和便道上的车辆情况
用个 switch(); 函数选择显示车场内或是便道上的车辆情况。
包括对下面两个子函数的调用 : void List1(SeqStackCar *S) ;
void List2(LinkQueueCar *W) ; // 分别为显示车场
和便道上的车辆情况
6 、 void PRINT(CarNode *p,int room) ; // 车辆离开是的收费
这个函数由车辆离开的函数调用,以分钟计时算费,但只能计算当天之内的费用,如果第
剩余15页未读,继续阅读
资源评论
- white_meteor2022-12-18资源内容详细全面,与描述一致,对我很有用,有一定的使用价值。
- 张七,2023-01-05资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
是空空呀
- 粉丝: 173
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功