- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计-停车场管理
课 程 设 计 报 告
课程名称 数据 结构
题 目 停车场管理
学生姓名
班级/学号
需求分析
设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供
汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
【测试数据】
设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’表示输入结束。
概要设计
以栈模拟停车场,以队列模拟车场外的便道。栈以顺序结构实现。队列以链表结构实现。每一组输入数据包括:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。
输出信息:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。
详细设计
程序设计
1.数据结构设计
/*栈,模拟停车场*/
typedef struct Car1
{ //车
int number;//汽车车号
int ar_time;//汽车到达时间
}CarNode;
typedef struct
{ //停车场
CarNode *base;//停车场的堆栈底
CarNode *top;//停车场的堆栈顶
int stacksize;
}Park;
/*队列,模拟便道*/
typedef struct Car2
{ //车
int number;//汽车车号
int ar_time;//汽车到达时间
struct Car2 *next;
}*CarPtr;
typedef struct
{ //便道
CarPtr front;//便道的队列的对头
CarPtr rear;//便道的队列的队尾
int length;
}Shortcut;
2.程序设计
主函数中包括3个子函数,A(arrive),D(depart),E(end)
(1)输入车辆数据:A为到达,D为离去,E为结束程序。
(2)接着输入车辆的牌照信息(3)若为到达的车辆,输入进场信息,若为离去的车辆,输入离场信息。
(4)若车辆到达,可得到车辆的停放位置信息,若车辆离去,可得到车辆的停放时间(在便道上的停放时间除外),以及应该交纳的费用。
(5)本程序不断循环要求输入车辆信息,直到输入的车辆数据为E时,程序结束。
调试分析
一开始在调试程序时遇到了内存错误,经过DEBUG,找到了引起内存错误的原因:即在建立队头指针与队尾指针时没有对指针进行初始化(没有为指针动态分配空间)。问题得到解决。
本程序中:车辆到达,离去时的时间复杂度均为:O(n)。本程序空间复杂度为:O(n)
使用说明和测试结果
1.使用说明:用户按照屏幕所显示的提示来选择需要进行操作
2、测试结果:
测试结果满足题目要求,程序无错误。
心得体会
通过此实验,加深了我对数据结构这门课的理解,真正运用了知识。将理论与现实完美的联系在了一起。增强了动手能力,对今后的工作学习都有很大的帮助。单调的看书本没有太大的作用,只有去编程才能理解究竟学习的作用。同时,编程过程中遇到过各种各样的问题,与同学讨论,与老师交流。锻炼了我的协做能力与克服困难的能力。编程也极大的提高了我的学习积极性。
附录
#includestdio.h
#includestdlib.h
#includemalloc.h
#define SIZE 2//停车场位置数,共5个车位
typedef int Status;
/*栈,模拟停车场*/
typedef struct Car1
{ //车
int number;//汽车车号
int ar_time;//汽车到达时间
}CarNode
您可能关注的文档
最近下载
- 妊娠期间孕妇心理护理.pptx VIP
- 2025山东威海热电集团有限公司招聘37人考试备考题库及答案解析.docx VIP
- 2025山东威海热电集团有限公司招聘37人笔试参考题库附答案解析.docx VIP
- 2025山东威海热电集团有限公司招聘37人笔试备考试题及答案解析.docx VIP
- 2025山东威海热电集团有限公司招聘37人笔试模拟试题及答案解析.docx VIP
- 伤口造口失禁专科护士.docx VIP
- 伤口造口专科护士试题 造口试题 .pdf VIP
- 施工脚手架通用规范完整版2024.pdf VIP
- 临床执业医师妇产科学复习指导.pdf VIP
- NY∕T 391-2021 绿色食品 产地环境质量.pdf
文档评论(0)