作用:
用数组模拟栈和队列是我们常用的方式,栈是一种后进先出的数据结构,类似日常生活中的水瓶,在同一端插入和删除数据,例如我们打开游戏背包页面本质就是栈,后打开的先浏览先关闭;队列是一种先进先出的数据结构。
数组模拟栈
代码模板
#include <iostream>
using namespace std;
int stk[N], tt = 0;
//插入x
stk[++tt] = x;
//删除元素
--tt;
//栈是否为空
if(tt > 0){
//不为空;
}else{
//空
}
数组模拟队列
普通队列
代码模板
#incude <iostream>
int q[N] , hh = 0, tt = -1;
//插入元素
q[++ tt] = x;
//删除元素
++hh;
//判断是否为空
if(tt >= hh){
//不为空
}else{
//为空
}
循环队列
代码模板
#include <iostream>
using namespace std;
int q[N], hh = 0, tt = 0;
//插入元素
q[++tt] = x;
//删除元素
++hh;
if(tt == N) tt = 0;
if(hh == N) hh = 0;
//判断是否为空
if(tt != hh){
//不为空
}else{
//空
}
欢迎交流~~~