一、实验目的
- 掌握栈和队列的基本操作
- 栈和队列的算法设计
- 栈和队列的应用
- 递归
二、实验内容 - 循环队列
- 进制转换
- 迷宫-深度策略
- 迷宫-广度策略
- 农夫过河-广度策略
- “聪明的学生”
三、实验环境
在PTA平台进行实验
四、实验要求
根据每个实训的要求完成代码提交和测评
五、实验步骤
描述算法的原理或实现流程(测评完全正确或部分正确的实训)
1.循环队列入队出队
题目:本题要求实现队列的顺序存储表示,包括入队、出队和取队头操作。
审题:本题为循环队列。
实现流程:
(1) 入队操作:首先检查队列是否满,如果不满,则在队尾插入元素,并修改队尾指针。
①if((squeue->r+1)%squeue->Max== squeue->f);
②squeue->elem[squeue->r]=x;
③squeue->r=(squeue->r+1)%(squeue->Max);
(2) 出队操作:首先检查队列是否为空,若队列非空,则删除队头元素,修改队头指针。
① if (IsNullQueue_seq(squeue))
② squeue->f =( squeue->f+1)%(squeue->Max);
(3) 取对头元素:检查