停车场管理程序实验报告Word文档格式.docx

上传人:b****4 文档编号:13576603 上传时间:2022-10-11 格式:DOCX 页数:15 大小:97.63KB
下载 相关 举报
停车场管理程序实验报告Word文档格式.docx_第1页
第1页 / 共15页
停车场管理程序实验报告Word文档格式.docx_第2页
第2页 / 共15页
停车场管理程序实验报告Word文档格式.docx_第3页
第3页 / 共15页
停车场管理程序实验报告Word文档格式.docx_第4页
第4页 / 共15页
停车场管理程序实验报告Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

停车场管理程序实验报告Word文档格式.docx

《停车场管理程序实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《停车场管理程序实验报告Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

停车场管理程序实验报告Word文档格式.docx

基本操作:

{

InitStack(&

S)

操作结果:

构造一个空栈S.

DestroyStack(&

初始条件:

栈S已存在.

销毁栈S.

ClearStack(&

将S清为空栈.

StackEmpty(S)

若S为空栈,则返回TRUE,否则返回FALSE.

StackLength(S)

返回S的数据元素个数,即栈的长度.

GetTop(S,&

e)

栈S已存在且非空.

用e返回S的栈顶元素.

Push(&

S,e)

插入元素e为新的栈顶元素.

Pop(&

S,&

删除S的栈顶元素,并用e返回其值.

StackTraverse(S,visit())

从栈底到栈顶依次对S的每个数据元素调用函数visit().一旦visit()失败,则操作失败.

}ADTStack

3.2存储结构的定义;

#defineN3

#defineM4

#defineprice2

typedefstruct

intcarno[N];

intcartime[N];

inttop;

}SqStack;

intcarno[M];

intfront,rear;

}SqQueue;

3.3基本操作实现:

/*创建栈*/

voidInitStack(SqStack*&

s)

s=(SqStack*)malloc(sizeof(SqStack));

s->

top=-1;

}

/*摧毁栈*/

voidDestroyStack(SqStack*&

free(s);

/*查看栈是否为空*/

boolStackEmpty(SqStack*s)

returns->

top==-1;

/*进栈*/

boolPush(SqStack*&

s,inte1,inte2)

if(s->

top==N-1)

{

returnfalse;

}

top++;

carno[s->

top]=e1;

cartime[s->

top]=e2;

//printf("

>

停车场中位置:

%d\n"

e1);

returntrue;

boolStackFull(SqStack*s)

top==N-1;

/*出栈*/

boolPop(SqStack*&

s,int&

e1,int&

e2)

top==-1)

e1=s->

top];

e2=s->

top--;

voidDispStack(SqStack*s)

printf("

>

停车场中的车辆为:

"

);

inti;

for(i=s->

top;

i>

=0;

--i)

printf("

%d"

s->

carno[i]);

\n"

/*****************以下为队列*****************/

/*初始化队列*/

voidInitQueue(SqQueue*&

q)

q=(SqQueue*)malloc(sizeof(SqQueue));

q->

front=q->

rear=0;

/*释放队列*/

voidDestroyQueue(SqQueue*&

free(q);

/*查看队列是否为空*/

boolQueueEmpty(SqQueue*q)

returnq->

front==q->

rear;

boolQueueFull(SqQueue*q)

return(q->

rear+1)%M==q->

front;

/*进队*/

boolenQueue(SqQueue*&

q,inte)

if((q->

rear+1)%M==q->

front)

returnfalse;

rear=(q->

rear+1)%M;

carno[q->

rear]=e;

/*出队*/

booldeQueue(SqQueue*&

q,int&

e)

if(q->

rear)

front=(q->

front+1)%M;

e=q->

front];

3.4解题思路:

1.通过栈模拟停车场

2.通过队列模拟候车场

3.然后全程模拟即可.

3.5解题过程:

实验源代码如下:

#include<

stdio.h>

malloc.h>

typedefstruct

/****************以下为队列******************/

voidDispQueue(SqQueue*q)

候车场中的车辆为:

inti;

i=(q->

q->

while((q->

rear-i+M)%M>

0)

i=(i+1)%M;

intmain()

intcomm;

intno,e1,e2,time;

inti,j;

SqStack*st,*st1;

SqQueue*qu;

InitStack(st);

InitStack(st1);

InitQueue(qu);

while

(1)

输入指令(1:

到达2:

离开3:

停车场4:

候车场0:

退出):

scanf("

%d"

&

comm);

if(comm==0)

{

if(!

StackEmpty(st))

{

DispStack

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1