- 5
- 0
- 约1.13万字
- 约 17页
- 2021-06-22 发布于广东
- 举报
栈和队列是两种特殊的线性表,并且被广泛地应用于各种程序设计中。通过 该程序的演示,能够在今后的学习屮更深入的了解栈和队列的特性,在解决实际 问题时灵活运用它们。
栈是后进先出的线性表,在使用时附设指针top指示栈顶元索在顺序栈中的 位置;队列是先进先出的线性表,在使用吋需附设头指针和尾指针。
在停车场管理问题中,使用顺序栈存放进入车场的车辆,链队列存放有关车 场外便道的情况,根据题目的耍求再进行岀栈,退栈,取栈顶元,链队列屮的入 队和出队,通过此程序的编写及运行,深刻理解线性表和栈的逻辑结构,存储结 构,学握线性表和栈上基本运算的实现,学会如何把学到的知识用于解决实际问 题
正文
采用类C语言定义相关的数据类型
?定义时间结点:
typcdcf struct time
{int hour;
int min;
}Time;
?定义车辆信息结点:
typcdcf struct node
{char num[10];
Time reach;
Time leave; }CarNode;
?定义模拟车站:
typedef struct NODE
{CarNode *stack[MAX+l] ;//栈的存储容量
int top;
}SeqStackCar;
?定义模拟通道:
typedef struct car
{CarNode *data; //car 的数据域
struct car *next; //car |K扌旨针域
}QueueNode;
typedef struct Node
{QueueNode *head; //对头指针
QueueNode *rear; //对尾指针
}LinkQucueCar
各模块的伪码算法
?栈的初始化:
Seqstack InitStack (SeqStackCar *s) //构造一个空栈
{S.top=0;
Rcturn S;
}
.链队列的初始化:
int InitQueue(LinkQueueCar *Q) //构造一个空队列
{ 1 ink *p;
p二new link;
p-next=NULL;
Q-rear=Q-head=p;
Return Q;
}
.车辆到达时的算法:
int Arrival(SeqStackCar ^Enter, LinkQueueCar *W) {CarNode *p; //p为指向车场栈顶的指针
QueueNode *t; // t为指向便道的指针
p= (CarNode *) mal 1 oc (si zeof (CarNode));//分配存储空间 if (Enter-topMAX)
{Enter-top++;
Enter-stack[Enter-top] =p; //p 指针后移
Return 仃);
}
Else 〃车进入便道
{ t= (QueueNode *)malloc(sizeof (QueueNode)) ;// 分配存储空间 t-data=p;
t-next二NULL;
W-rear-next=t;
W-rcar=t;
return(1);
}
}
.输出停车场中的车辆编号和到达时间的算法: void Listl (SeqStackCar *S) /*列表显示车场信息*/
{ int i=S. top; //出栈 cout?”停车场中的车辆编号和到达时间”〈〈end 1;
While(i!=0)
{ cout〈〈S? ScqStEtckCorli]. ” S. ScqStackCar[i]? arrivct
imeend 1;
i--;}
coutend 1;
}
(6)?输出便道中车辆编号和到达时间的算法: void List2(LinkQueueCar *W) /*列表显示便道信息*/
{QueueNode *p; p=W-head-next; //指针 p 后移
if(W-head! =W-rear) /*判断通道上是否冇车*/ cout?便道中等待车辆的号码” ?cnd 1;
wh订e (p! =NULL)判断队列是否为空
{ coutp-data. numend 1;
p二p-〉next;
}
coutcnd 1;
}
函数的调用关系图
调试分析本程序中:
调试屮遇到的问题及对问题的解决方法:
在函数调用时,实参和形参在位置和个数上不是一一对应的,解决的 方法是删除被调函数PRINT () H1的形参room.
在编程过程中出现括号不匹配的情况,检查是应使对应括号匹配。
车辆到达,离去时的时间复朵度均为:0(n)o本程序空间复杂度为:0(n*n)o 5?测试结果
(1).输入车牌号及车辆到达信息:
1.the car arriue2.the car leaue3.the1schedule4.outinput the nun
您可能关注的文档
最近下载
- 2025新教材-译林版-七年级英语-上册-单词表.xlsx VIP
- 山西省农村信用社(农村商业银行合作银行)个人网上银行.pdf VIP
- XX市非公经济人才引进问题研究XX市重点软科学项目R2004A04研究报告 1【XX市重点软科学项目R2004A04研究报告】XX市非公经济人才引进问题研究执笔: XX大学经济学院 张一力课题主持人:张一力 副.doc VIP
- 船舶空调装置的实例与管理课件.PPT VIP
- 2025-2026学年黑龙江省大庆市高三上学期一模物理试题(附答案解析).docx VIP
- 软科学课题研究报告.doc VIP
- 高中物理必修2全册基础典型练习题(精品含答案).pdf VIP
- 便民摊点抓阄方案.doc VIP
- 中国领汇团队公开课一外汇通论.ppt
- 八年级物理 第6章 质量与密度 精选单元测试题(含答案).doc VIP
原创力文档

文档评论(0)