1 / 26
文档名称:

停车场管理程序实验报告.doc

格式:doc   大小:158KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

停车场管理程序实验报告.doc

上传人:雾里看花 2019/5/8 文件大小:158 KB

下载得到文件列表

停车场管理程序实验报告.doc

相关文档

文档介绍

文档介绍:罿停车场管理程序实验报告羀袄一实验题目:停车场管理程序袃二实验要求:,以栈模拟停车场,以队列模拟车场外到达便道的过程,,:芄汽车到达;薄汽车离去输出停车场中的所有汽车牌号;膂输出候车场中的所有汽车牌号;::蕿ADTStack{蒇数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0}肅数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=1,2,…,n}羁约定an端为栈顶,:{袆InitStack(&S)薁操作结果:(&S)肀初始条件::(&S)衿初始条件::(S)肂初始条件::若S为空栈,则返回TRUE,(S)膄初始条件::返回S的数据元素个数,(S,&e)虿初始条件::(&S,e)螀初始条件::(&S,&e)芃初始条件::删除S的栈顶元素,(S,visit())蚆初始条件::从栈底到栈顶依次对S的每个数据元素调用函数visit().一旦visit()失败,};肆#defineN3螄#defineM4蚀#defineprice2莆typedefstruct薅{薄 intcarno[N];螁 intcartime[N];蝿 inttop;羄}SqStack;芄typedefstruct蒈{袇intcarno[M];莄intfront,rear;羅}SqQueue;:肇蒁/*创建栈*/蚁voidInitStack(SqStack*&s)莈{蒆s=(SqStack*)malloc(sizeof(SqStack));芁s->top=-1;葿}蒆羆/*摧毁栈*/羂voidDestroyStack(SqStack*&s)蒀{袈 free(s);莅}螂薁/*查看栈是否为空*/羇boolStackEmpty(SqStack*s)螅{蒃returns->top==-1;荿}艿膄/*进栈*/膃boolPush(SqStack*&s,inte1,inte2)莀{蒈 if(s->top==N-1)袇 {羃 returnfalse;蒁 }薆 s->top++;莇 s->carno[s->top]=e1;蚄 s->cartime[s->top]=e2;艿// printf(">>停车场中位置:%d\n",e1);袈 returntrue;螆}蒄莀boolStackFull(SqStack*s)肇{膅 returns->top==N-1;膄}莂荿/*出栈*/薅boolPop(SqStack*&s,int&e1,int&e2)羅{腿 if(s->top==-1)蒇 returnfalse;肄 e1=s->carno[s->top];莁 e2=s->cartime[s->top];芀 s->top--;蚆 returntrue;蒄}膁节voidDispStack(SqStack*s)羈{*** printf(" >>停车场中的车辆为:");袂 inti;聿 for(i=s->top;i>=0;--i)肇 {薆 printf("%d",s->carno[i]);蚂 }膀 printf("\n");葿}肆莃/*****************以下为队列*****************/膂薇/*初始化队列*/蒅voidInitQueue(SqQueue*&q)膃{罿q=(SqQueue*)malloc(sizeof(SqQueue));羀q->front=q->rear=0;袄}袃肁/*释放队列*/肈voidDestroyQueue(SqQueue*&q)芄{薄free(q);膂}膆羇/*查看队列是否为空*/莄boolQueueEmpty(SqQueue*q)衿{蕿returnq->front==q->rear;蒇}肅羁boolQueueFull(SqQueue*q)蚇{袆 return(q->rear+1)%M==q->front;薁}肂肀/*进队*/芅boolenQueu