第一范文网 - 专业文章范例文档资料分享平台

数据结构停车场管理实验报告C++

来源:用户分享 时间:2025/5/17 23:06:57 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数据结构

课 程 设 计

题目 停车场管理器设计

专业:计算机科学与技术

班级:1401

姓名:彭旭

学号:143230135

实验主要内容

以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“达到”或“离去”信息、汽车牌照号码以及达到或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆达到、则输出汽车在停车场内或便道上停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。

环境

Windows 10 Visual c++ c语言

实验原理

1.概要设计

(1)抽象数据类型定义 ADT Stack{

数据对象:D={ai|ai ∈ElemSet, i=1,2,?n;n>0} 数据关系:R1={|ai-1,ai ∈D,i=2,?n} 基本操作:

InitStack(&S)

操作结果:构造一个空栈S。 Push(&S,e)

初始条件:栈S已存在。 操作结果:插入e为新的栈顶元素

Pop(&S,&e)

初始条件:栈S已存在。

操作结果:删除S的栈顶元素,并且用e返回。 }ADT Stack ADT Queue {

数据对象:D={ai|ai ∈ElemSet, i=1,2,?n; n>0}

数据关系:R1={|ai-1,ai ∈D, i=2,?n}其中:a1为队头, an为队尾 基本操作:

InitQueue(&Q);

操作结果:构造一个空队列Q

EnQueue(&Q,&e);

初始条件:对列Q已存在。

操作结果:插入元素e为Q的新队尾元素。

DeQueue(&Q,&e);

初始条件:对列Q已存在。

操作结果:删除Q的队头元素, 并用e返回。 }ADT Queue

(2)本程序包含七个模块:

<1>主程序模块,其中主函数为 Void main(){ 初始化;

构造空栈; 输入已知数据; 插入数据入栈; 分析

{入栈;出栈;入队;出队;}

输出数据; }

<2>构造栈模块-----构造一个空栈; 栈插入模块-----插入新的数据元素; 栈删除模块-----删除指定的数据元素;

构造队列模块-----构造一个空队列;

队列插入模块-----插入新的数据元素; 队列删除模块-----删除指定的数据元素; (3)各模块之间的调用关系图解:

主函数模块 分析 构造栈模块 栈插入模块 栈删除模块 构造队列模块 队列插入模块 队列删除模块 2.详细设计 <1>类型定义

#define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define MONEY 3

typedef int Status; typedef struct ElemType{ char a[3]; int num; int time; }ElemType;

typedef struct SqStack {

ElemType *base;//在栈构造之前和销毁之后,base的值为NULL

ElemType *top;//栈顶指针

int stacksize;//当前已经分配的存储空间,以元素为单位 }SqStack;//栈的表示 typedef struct QNode{ ElemType data; struct QNode *next; }QNode,*QueuePtr;//队列的表示 typedef struct LinkQueue{ QueuePtr front;//队头指针

QueuePtr rear;//队尾指针 }LinkQueue; <2>栈和队列的基本操作

Status InitStack(SqStack &S)

搜索更多关于: 数据结构停车场管理实验报告C++ 的文档
数据结构停车场管理实验报告C++.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4z4gp3v02s7zlrk1b2w4_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top