一. 模板
- 栈
int stk[N], tt = 0;
// 向栈顶插入一个数
stk[ ++ tt] = x;
// 从栈顶弹出一个数
tt -- ;
// 栈顶的值
stk[tt];
// 判断栈是否为空
if (tt > 0)
{
}
- 普通队列
// hh 表示队头,tt表示队尾
int q[N], hh = 0, tt = -1;
// 向队尾插入一个数
q[ ++ tt] = x;
// 从队头弹出一个数
hh ++ ;
// 队头的值
q[hh];
// 判断队列是否为空
if (tt < hh) return true;
else return false;
- 循环队列
// hh 表示队头,tt表示队尾的后一个位置
int q[N], hh = 0, tt = 0;
// 向队尾插入一个数
q[tt ++ ] = x;
if (tt == N) tt = 0;
// 从队头弹出一个数
hh ++ ;
if (hh == N) hh = 0;
// 队头的值
q[hh];
// 判断队列是否为空
if (hh != tt) return true;
else return false;
本文详细介绍了栈、普通队列和循环队列的基本操作,包括向栈顶插入元素、从栈顶弹出元素、判断栈是否为空,以及向队尾插入元素、从队头弹出元素、获取队头元素和判断队列是否为空。此外,还提供了两个模拟题目——828.模拟栈和829.模拟队列,帮助读者深入理解这些数据结构的使用。
261

被折叠的 条评论
为什么被折叠?



