下载此文档

《数据结构》实验设计报告-停车场管理系统.docx


文档分类:高等教育 | 页数:约28页 举报非法文档有奖
1/28
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/28 下载此文档
文档列表 文档介绍
《数据结构》实验设计报告
题目: 停车场管理系统
姓名: **
学号: 2010211998
班级: 0491002
学院:计算机科学与技术学院
目录
问题描述………………………………………………………03
问题分析………………………………………………………03
数据结构描述…………………………………………………04
算法设计………………………………………………………04
程序优缺点分析及优化………………………………………05
程序源代码……………………………………………………07
程序运行结果…………………………………………………13
心得体会………………………………………………………15
附一、优化后的程序…………………………………………………16
附二、优化后程序的运行结果………………………………………23
问题描述
设计一个停车场管理系统。
设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
【基本要求】
以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。
【选作内容】
(1)两个栈共享空间,思考应开辟数组的空间是多少?
(2)汽车可有不同种类,则他们的占地面积不同,收费标准也不同,,1辆十轮卡车占地面积相当于3辆小汽车的占地面积。
(3)汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。
二、问题分析
该问题需要以栈和队列作为基本的存储结构,以顺序栈模拟停车场,以链队列模拟车场外的便道。汽车进入停车场,即是在顺序栈上执行进栈操作,退出停车场即是在顺序栈上执行出栈操作;汽车进入便道,即是在链队列上执行入队操作,退出便道即是在链队列上执行出队操作。
当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场。设要删除的元素在顺序表St中位置为i,则从i到top之间的全部元素进入到一个临时栈St1中, 其次再删除该元素,然后将临栈St1的元素按照“先进后出”的原则重新回到St中。
若链队不空,则使队头进栈St,并以当前时刻开始计费。
程序需要构造两个顺序栈St和St1,其中St用于模拟停车场,St1用作临时栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。此外还需要构造一个链队列Qu用于模拟便道。
数据结构描述
/*定义顺序栈类型*/
typedef struct
{
int CarNo[N]; /*车牌号*/
int CarTime[N]; /*进场时间*/
int top; /*栈指针*/
} SqStack; /*定义顺序栈类型*/
/*定义链队类型*/
typedef struct qnode
{
int CarNo; /*车牌号*/
struct qnode *next;
} QNode;
typedef struct
{
QNode *front; /*队首和队尾指针*/
QNode *rear;
} LiQueue;
算法设计
对于子函数模块,则调用顺序栈的基本操作和链队列的基本操作。
如下:
/*顺序栈的基本运算算法*/
void InitStack(SqStack *&s)
int StackEmpty(SqStack *s)
int StackFull(SqStack *s)
/*S中的插入新元素*/
int Push(SqStack *&s,int e1,int e2)
/*删除S的栈顶元素,并用e1,e2返回其值*/
int Pop(SqStack *&s,int &e1,int &e2)
void DispStack(SqS

《数据结构》实验设计报告-停车场管理系统 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数28
  • 收藏数0 收藏
  • 顶次数0
  • 上传人3346389411
  • 文件大小0 KB
  • 时间2013-03-24
最近更新