




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据结构停车场管理完整版实习报告[合集五篇] 第一篇:数据结构停车场管理完整版实习报告实习报告题目:停车场管理一.需求分析1.用栈来表示停车场,用队列来表示停车道。2.用户需输入车辆的必要信息,如车辆的到达或离开,汽车牌号以及到达或离去的时刻。停车场的容量及单位时间的停车费由编程序者自行设置,结构需输出车辆停车所需缴纳的费用。3.本程序要求对车辆的动态能够输出具体的信息内容,包括停车或离开的时间,位置,及所需缴纳的停车费。4.测试数据为: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’表示输入结束。5.程序执行的命令为:1.创建栈和队列。2.对车辆的行为进行相应的处理。3.输出车辆的信息。二.概要设计1.设定栈的抽象数据类型定义:ADTStack{数据对象:D={ai|ai属于Elem,i=1,2……,n,n>=0}数据关系:R1={|ai-1,ai属于D,i=2,……,n}基本操作:initStack(&S)操作结果:构造一个空栈S.pop(&S,&e)初始条件:栈S已存在。操作结果:删除S的栈顶元素,并以e返回其值。push(&S,&e)初始条件:栈S已存在。操作结果:在栈S的栈顶插入新的栈顶元素e。lengthstack(S)初始条件:栈S已存在。操作结果:返回S中的元素个数,即栈的长度。}ADTStack;2.设定队列的抽象数据类型定义:ADTQueue{数据对象:D={ai|ai属于Elem,i=1,2,……,n,n>=0}数据关系:R1={|ai-1,ai属于D,i=2,……,n}基本操作:initqueue(&Q)操作结果:构造一个空队列Q.enqueue(&Q,e)初始条件:队列Q已存在。操作结果:插入元素e为Q的新的队尾元素。dequeue(&Q,&e)初始条件:Q为非空队列。操作结果:删除Q的对头元素,并用e返回其值。Lengthqueue(Q)初始条件:队列Q已存在。操作结果:返回Q的元素个数,即队列的长度。}ADTQueue3.本程序主要包括三个模块1.主程序模块;intmain(){初始化;do{接受命令;处理命令;}while(命令!=退出);}2.处理车辆到达模块;3.处理车辆离开模块;各模块之间的调用关系如下:处理车辆到达模块主程序模块处理车辆离开模块三.详细设计设计程序如下:#include#definen2//将停车场的容量设为2;#definecost10//将单位时间的停车费设为10,车道里不收费;#defineOVERFLOW-2#defineERROR0//分配栈的存储空间失败;usingnamespacestd;typedefstructElem{//定义元素数据结构类型intcarnum;inttime;}Elem;typedefstructQNode{//队列structQNode*next;ElemQelem;}QNode,*QueuePtr;typedefstruct{QueuePtrfront;//队头指针QueuePtrrear;//队尾指针}LinkQueue;voidinitqueue(LinkQueue&Q){//构造一个空队列Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));if(!Q.front)exit(OVERFLOW);Q.front->next=Q.rear->next=NULL;}voidenqueue(LinkQueue&Q,intcarnum,inttime){//入队操作QueuePtrp=(QueuePtr)malloc(sizeof(QNode));p->Qelem.carnum=carnum;p->Qelem.time=time;p->next=NULL;Q.rear->next=p;Q.rear=p;}intlengthqueue(LinkQueueQ){inti=0;QueuePtrp;p=Q.front->next;while(p!=Q.rear){i++;p=p->next;}i++;returni;}voiddequeue(LinkQueue&Q,Elem&e){//从对头离队操作,并返回其值QueuePtrp=(QueuePtr)malloc(sizeof(QNode));if(Q.front==Q.rear)coutp=Q.front->next;e=p->Qelem;Q.front->next=p->next;if(Q.rear==p)Q.rear=Q.front;

如灵****姐姐
实名认证
内容提供者


最近下载
贵州省城市管理行政执法条例.doc
贵州省城市管理行政执法条例.doc
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf