- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
栈和队列的应用
一、问题描述
栈和队列是一种常见的数据结构,是两种非常重要的线性结构,也都是线性表,它们是操作受限的的线性表,有顺序栈、链式栈、链式队列和循环队列等形式。它们广泛应用在各种软件系统中。本题就是要用这些线性结构先完成基本的应用,如回文,逆置。再编写一个简易的停车场管理系统,完成对车辆出入库的管理、停车时间的记录和管理费用的结算。
二、基本要求
1、选择顺序栈和链队列,完成回文判断、字符串的逆置;
2、选择链栈和循环队列,完成回文判断、字符串的逆置;
3、运用栈和队列,完成简易停车场管理系统,要求:
(1)车辆入库管理及时间记录;
(2)车辆出库管理、时间的记录及管理费用的结算;
(3)若停车场已满则车辆进入便车道等候。
三、测试数据
1、回文判断的测试数据:abcbc@;
2、字符串逆置的测试数据:abcdef;
3、停车场管理系统测试数据:
(1)输入A1、A2、A3实现车辆的入库及对便车道进行测试;
(2)输入D1对车辆出库及管理费用结算进行测试 。
四、算法思想
1、(1)定义顺序栈和链队列及关于它们的基本操作,如定义栈和队列、求栈和队列的长度、入栈出栈、入队列出队列等。方便后面函数的调用,是实现程序的基石。(链栈和循环队列也是如此)
2、(1)编写函数Palindrome_Test来实现字符串的回文判断,回文是利用了栈的反序输出原则而队列则是顺序输出这个思想来实现的。往栈和队列输入同一组字符,再将它们一起输出,这样栈输出的字符就与原来的顺序相反了,而队列输出的字符与原来的顺序仍然是一样的,这样比较它们输出的字符是否相等就可以判断是否是回文了。是则输出1,不是则输出。
(2)编写函数nzhi来实现一段字符串的逆置。逆置是通过栈的反序输出来实现的。通过它将队列的一组字符串进行逆置。将队列的字符串顺序入栈然后出栈。这样得到的字符串与原来的字符串就逆置过来了。
3、(1)定义车节点的类型及栈和队列的相关操作。
(2)用栈的操作编写一个停车场,队列的操作编写一个便车道。
(3)编写函数Carrival实现车辆入库管理,若车库满则进入便车道,这个函数是利用栈的入栈等操作来实现的,并利用“t=localtime(car.t);”语句记录入库时间。
(4)编写函数Carleave实现车辆出库管理并利用“t=localtime(car.t);”语句记录出库时间,计算车辆的管理费用。若便车道内有车等候,则进入停车场,并记录此时时间。主要用到了栈的入栈出栈及队列中的入队列等操作。用“(car.t-car2.t)*charge”语句来计算车辆的管理费用。
五、模块划分。
1、定义栈和队列及其基本操作。
(1)void InitStack(SqStack *S)
初始化栈
(2)int StackLength(SqStack S)
求栈的长度
(3)void Push(SqStack *S,ElemType e)及void Pop(SqStack *S,ElemType *e)
入栈及出栈
(4)void InitQueue(LinkQueue *Q)
初始化队列
(5)int QueueLength(SqQueue Q)
求队列的长度
(6) int EnQueue(SqQueue *Q,ElemType e)及void DeQueue(LinkQueue *Q, ElemType *e)
入队列及出队列
2、 int Palindrome_Test(SqStack *S,LinkQueue Q)
判断是否为回文,是则输入1,否则输出0。
3、 void nzhi(LinkQueue Q)
实现字符串的逆置。
4、 typedef struct ParkCar
定义车节点类型。
5、 void Carrival(LinkQueue *q,ParkCar car)
实现车辆入库管理及记录时间的功能。
6、 void Carleave(LinkQueue* q,ParkCar car)
实现车辆出库管理及时间记录,管理费用的计算的功能。
7、 int main()
主函数。调用定义的函数进行操作及结果的输出。
六、数据结构//(ADT)
1、链栈 typedef int ElemType;
typedef struct SNode
{ ElemType Data;
struct SNode *next;
}SNode *LinkStack;
循环队列typedef struct
您可能关注的文档
- 数据结构二叉树操作验证实验报告.doc
- 数据结构复习题江西理工大学考试题库.doc
- 第二章材料科学中的数据与图像处理§1材料科学中的数据处理.ppt
- 数据结构哈夫曼.doc
- 数据结构课程设计C语言版飞机订票系统.doc
- 第三章统计数据的整理与显.ppt
- 数据结构课程设计n元多项式乘法.docx
- 数据结构课程设计报告集合交集并集运算.doc
- 数据结构课程设计报告校园导游系统附有源代码.doc
- 数据结构课程设计报告有代码C语言仓库管理系统.doc
- 贵州贵州省建设投资集团有限公司招聘考试真题附答案详解(研优卷).docx
- 河南南阳师范学院2021年招聘25名硕士研究生冲刺卷一(附答案与详解)及答案详解(名校卷).docx
- 陕西延长石油 (集团) 有限责任公司 所属单位招聘笔试题库及答案详解(必刷).docx
- 贵州民航产业集团有限公司招聘笔试题库含答案详解(基础题).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库含答案详解(考试直接用).docx
- 邢台市水务发展集团有限公司招聘真题附答案详解(实用).docx
- 新华保险总部人力资源部(党委组织部)招聘笔试题库含答案详解(预热题).docx
- 贵州苔茶产业发展集团有限公司招聘笔试题库含答案详解(b卷).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库附答案详解(综合题).docx
- 贵州城乡产业发展集团有限公司招聘笔试题库附答案详解(实用).docx
最近下载
- 机关干部保密培训课件.pptx VIP
- (高清版)B/T 42583-2023 信息安全技术 政务网络安全监测平台技术规范.pdf VIP
- 棕色中国风项羽刘邦PPT模板.pptx VIP
- 浦发银行公司网银安装使用说明.docx VIP
- 高中物理竞赛知识点总结.pdf VIP
- 2025山西运城夏县招聘司法协理员27人(一)备考试题及答案解析.docx VIP
- 十二年国民基本教育课程纲要国民中学暨普通型高级中等学校.PDF
- 《阿甘正传》电影赏析.pptx VIP
- 《二次函数与一元二次方程、不等式大单元》教学设计【高中数学人教A版必修第一册教案】.docx VIP
- 第九届全国青年数学教师优秀课课件 四川—魏静—课件—函数的极值与导数.pptx VIP
文档评论(0)