基于栈和队列的停车场管理系统设计与实现课程设计论文(编辑修改稿)内容摘要:
基本操作: InitStack(amp。 S) 操作结果:构造一个空栈 S。 DestroyStack(amp。 S) 初始条件:栈 S已存在。 操作结果:栈 S被销毁。 ClearStack(amp。 S) 初始条件:栈 S已存在。 操作结果:将栈 S 清为空栈。 StackEmpty(S) 初始条件:栈 S已存在。 操作结果:若栈 S 为空栈,则返回 TRUE,否则 FALSE。 StackLength(s) 初始条件 :栈 S已存在。 操作结果:返回 S 的元素个数,既栈的长度。 GetTop(S,amp。 e) 初始条件:栈 S已存在且非空。 操作结果:用 e返回 S 的栈顶元素。 Push(amp。 S,e) 初始条件:栈 S已存在。 长春建筑学院《数据结构》课程设计 (论文) 4 操作结果:插入元素 e 为新的栈顶元素。 Pop(amp。 S,amp。 e) 初始 条件:栈 S已存在且非空。 操作结果:删除 S 的栈顶元素,并用 e返回其值。 StackTraverse(S,visit()) 初始条件:栈 S已存在且非空。 操作结果:从栈底到栈顶依次对 S 的每个数据元素调用函数 visit()。 一旦visit()失败,则操作失效。 }ADT Stack ( 2)队列的抽象数据类型定义 ADT Queue{ 数据对象: D={ai|ai∈ ElemSet,i=1,2,...,n,n≥0} 数据关系: R1={ai1,ai|ai1,ai∈ D,i=2,...,n} 约定其中 a1 端为队列 头, an 为队列尾。 基本操作: InitQueue(amp。 Q) 操作结果:构造一个空队列 Q。 DestroyQueue(amp。 Q) 初始条件:队列 Q 已存在。 操作结果:队列 Q 被销毁,不再存在。 ClearQueue(amp。 Q) 初始条件:队列 Q 已存在。 操作结果:将 Q清为空队列。 QueueEmpty(Q) 初始条件:队列 Q 已存在。 操作结果:若 Q为空队列,则返回 TRUE,否则 FALSE。 QueueLength(Q) 初始条件:队列 Q 已存在。 操作结果:返回 Q 的元素个数,即队列的长度。 长春建筑学院《数据结构》课程设计 (论文) 5 GetHead(Q,amp。 e) 初 始条件: Q 为非空队列。 操作结果:用 e返回的队头元素。 EnQueue(amp。 Q,e) 初始条件:队列 Q 已存在。 操作结果:插入元素 e 为 Q 的新的队尾元素。 DeQueue(amp。 Q,amp。 e) 初始条件: Q 为非空队列。 操作结果:删除 Q 的队头元素,并用 e返回其值。 QueueTraverse(Q,visit()) 初始条件: Q 已存在且非空。 操作结果:从队头到队尾,依次对 Q 的每个数据元素调用函数 visit()。 一旦visit() 失败,则操作失败。 }ADT Queue 2. 2 模块划分 本程序包括六个模块: ( 1)主 程序模块 void main() { 初始化 停车站 ; 初始化让路的临时栈; 初始化通道; 输出主菜单:车辆到达、车辆离开与计费、查看停车场信息; } ( 2)入场模块 int arrive(SqStack *In,LinkQueue *W) { 车辆进入停车场; 长春建筑学院《数据结构》课程设计 (论文) 6 计算停车费用 } ( 3)出场模块 void leave(SqStack *In,SqStack *Out,LinkQueue *W) { 车辆离开停车场; } ( 4)输出模块 void info(SqStack S,LinkQueue W) { 输 出停车场信息; } ( 5)栈模块 —— 实现栈的抽象数据类型 ( 6)队列模块 —— 实现队列的抽象数据类型 长春建筑学院《数据结构》课程设计 (论文) 7 第 3 章 详细设计 3. 1 数据类型的定义 int MAX。 /*定义一个全局变量用来存储车库最大容量 */ float price。 /* 定义一个全局变量用来存储每车每小时的费用 */ typedef struct time { int hour。 int min。 }Time。 /*时间结点 */ typedef struct node { char num[10]。 Time reach。 Time leave。 }Car。 /*车辆信息结点 */ typedef struct NODE { Car *stack[100]。 int top。 }SqStack。 /*停车站 */ typedef struct car { Car *data。 struct car *next。 }QNode。 typedef struct Node 长春建筑学院《数据结构》课程设计 (论文) 8 { QNode *head。 QNode *rear。 }LinkQueue。 /*通道 */ 3. 2 主要模块的算法描述 本程序 主要分为四部分:( 1)主函数及程序框架、( 2)车辆到达模块、( 3)车辆离开模块、( 4)显示车辆信息模块, 由梁伟明、段庆龙、丁磊和我合作编写,我主要负责 leave(车辆离开)函数部分。 ( 1)主函数 void main() { SqStack In,Out。 LinkQueue Wait。 int ch。 InitStack(amp。 In)。 /*初始化停车站 */ InitStack(amp。 Out)。 /*初始化让路的临时栈 */ InitQueue(amp。 Wait)。 /*初始化通道 */ while(1) { printf(欢迎使用停车场管理系统\n)。 printf(\t本系统由 5011工作室开发,作者 :邓春国、段庆龙、梁伟明、丁磊。 \n\n)。 printf(请输入停。基于栈和队列的停车场管理系统设计与实现课程设计论文(编辑修改稿)
相关推荐
ED 的显色性优于钠灯,分辨人的状况更加清晰,较有优势。 LED 路灯的寿命: 使用寿命应立足于整个灯的寿命。 高压钠灯称标准寿命目前已超过 2 万小时,实际应用 3 年左右,节能型电感镇流器不会低于 20 度,灯具也是如此。 LED 路灯标称使用寿命是 5 万 小时以上,这是芯片的理想寿命,芯片的封装、灯具散热等因素都有可能光衰减,还有驱动电路(以电子元器件为主)的寿命显然也不能达到 5
数整定方便、结构改变灵活、适应性强、鲁棒性强等特点,在工业控制上应用较广。 早期的 PID 控制是由气动或液动、电动硬件仪表实现的模拟 PID 控制器。 二十世纪七十年代以来,随着计算机技术飞速发展和应用普及,由计算机实现的数字 PID 控制不仅简单地将PID控制规律数字化,而且可以进一步利用计算机的逻辑判断功能,开发出多种不同形式的 PID 控制算法,使得 PID 控制的功能和实用性更强
起来,价格适中的太阳能热水器完全可以成为大多数居民的家用耐用品之一。 2020 年太阳能热水器的销售额近 300 亿元,为社会提供就业机会近 60 多万个。 尤其在 2020 年 5 月,太阳能热水器进入家电下乡产品行列,享受政府补贴 13%。 所以太阳热水器在未来将有 6 更大的发展空间。 (4)太阳能热水器发展的技术环境 上世纪 70 年代末起,我国开始研发与生产太阳能集热器。 1979 年
cvActionMethod()四种。 cvActionTarget()类型如 cvCreateImage(), cvNamedWindow()。 cvTarget()类型的非常常见,如 cvMat(), cvSize(), cvPoint()。 cvMethod()类型比较常用的是算法或某方法,如 cvDCT()离散余弦变换算法。 cvActionMethod()的类型如
氛,以及发现和删除非法帖子后能够及时做出后期处理。 1) 实名认证的校园 BBS 框架图: 图 32 实名认证系统框架图 2) 各模块的功能如下 : 以下主要说明用户注册登陆模块、帖子发布与删除模块,其中在用户的注册和文章的删除过程中,体现了本系统实名认证的特点,即用户在注册过程中必须填写个人真实姓名,且必须有效;在帖子删除过程中,用户无法删除个人所发布的帖子,管理员在删除帖子后
以用一个圆锥空间模型来描述,此圆锥模型 比较复杂,但确能把色调、亮度及饱和度的变化情形表现得很清楚。 由于人的视觉对亮度的敏感程度远强于对颜色浓淡的敏感程度,采用 HSI色彩空间比 RGB 空间更符合人的视觉特性,也更便于色彩处理和识别。 在图像处理和计算机视觉中大量算法都可在 HSI 色彩空间中方便地使用,它们可以分开处理而且是相互独立的。 因此,在 HSI