停车场管理程序实验报告
一 实验题目: 停车场管理程序
二 实验要求:
编写一个程序实现停车场的管理功能。并且,以栈模拟停车场,以队列模拟车场外到达便道的过程,按照从终端读入的输入数据序列进行模拟管理。栈以顺序结构实现,队列顺序循环结构实现。
用户输入的命令有以下5种:
汽车到达;
汽车离去输出停车场中的所有汽车牌号;
输出候车场中的所有汽车牌号;
退出系统运行。
三 实验内容:
3.1 栈的抽象数据类型:
ADT Stack{
数据对象:D={ai|ai∈ElemSet, i=1,2, …,n, n≥0}
数据关系:R1={ai-1,ai|ai-1,ai∈D, i=1,2, …,n }
约定an端为栈顶,a1端为栈底。
基本操作:{
InitStack( S )
操作结果:构造一个空栈S。
DestroyStack ( S )
初始条件:栈S已存在。
操作结果:销毁栈S。
ClearStack( S )
初始条件:栈S已存在。
操作结果:将S清为空栈。
StackEmpty( S )
初始条件:栈S已存在。
操作结果:若S为空栈,则返回TRUE,否则返回FALSE。
StackLength( S )
初始条件:栈S已存在。
操作结果:返回S的数据元素个数,即栈的长度。
GetTop( S, e )
初始条件:栈S已存在且非空。
操作结果:用e返回S的栈顶元素。
Push( S, e )
初始条件:栈S已存在。
操作结果:插入元素e为新的栈顶元素。
Pop( S, e )
初始条件:栈S已存在且非空。
操作结果:删除S的栈顶元素,并用e返回其值。
StackTraverse( S, visit() )
初始条件:栈S已存在且非空。
操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。一旦visit()失败,则操作失败。
}ADT Stack
3.2存储结构的定义;
#define N 3
#define M 4
#define price 2
typedef struct
{
int carno[N];
int cartime[N];
int top;
}SqStack;
typedef struct
{
int carno[M];
int front,rear;
}SqQueue;
3.3基本操作实现:
/* 创建栈 */
void InitStack(SqStack *s)
{
s = (SqStack *)malloc(sizeof(SqStack));
s-top = -1;
}
/* 摧毁栈 */
void DestroyStack(SqStack *s)
{
free(s);
}
/* 查看栈是否为空 */
bool StackEmpty(SqStack *s)
{
return s-top==-1;
}
/* 进栈 */
bool Push(SqStack *s,int e1,int e2)
{
if(s-top == N - 1)
{
return false;
}
s-top++;
s-carno[s-top] = e1;
s-cartime[s-top] = e2;
// printf(停车场中位置:%d\n,e1);
return true;
}
bool StackFull(SqStack *s)
{
return s-top == N-1;
}
/* 出栈 */
bool Pop(SqStack *s,int e1,int e2)
{
if(s-top == -1)
return false;
e1 = s-carno[s-top];
e2 = s-cartime[s-top];
s-top--;
return true;
}
void DispStack(SqStack *s)
{
printf( 停车场中的车辆为:);
int i;
for(i = s-top; i = 0; --i)
{
printf(%d ,s-carno[i]);
}
printf(\n);
}
/***************** 以下为队列 *****************/
/* 初始化队列 */
void InitQueue(SqQueue *q)
{
q = (SqQueue *)malloc(si
您可能关注的文档
- 胎儿泌尿系畸形超声详解.ppt
- 听了心碎的个性说说:你根本不知道我是多害怕详解.ppt
- 听你,听我-如何帮助孩子对待负面情绪(改良版)详解.ppt
- 听筛+耳聋详解.ppt
- 听听绍兴莲花落详解.ppt
- 听雨的奢侈详解.ppt
- 胎膜早破-讲课详解.ppt
- 胎膜早破与脐带脱垂详解.ppt
- 烃的衍生物详解.ppt
- 胎盘脐带异常详解.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 时速160公里动力集中动车组动力车(177页).pptx VIP
- 全国李氏家族字辈.pdf VIP
- 2025储能场站运营的价值定位、运营模式和收益示例-202508v3.pdf VIP
- 小学科学《斜面》优质课件.docx VIP
- 串联型感应加热电源的自动负载匹配技术.pdf VIP
- 2025年新课标《义务教育数学课程标准(2022年版)》测试题及答案.docx VIP
- 老年人谵妄中西医结合诊疗专家共识.pdf VIP
- 膨胀土基坑复合土钉墙试验研究.pdf VIP
- 2021年江苏省无锡市天一高级中学高二物理下学期期末试卷含解析.docx VIP
- 《贵州省公路工程施工监理电子招标文件示范文本(试行)》2025.docx VIP
原创力文档

文档评论(0)