栈和队列

栈和队列

八月 01, 2021

栈和队列 此处均为用数组模拟

栈:先进后出(可以理解成一个坑)

1
2
3
4
5
6
7
int stk[N],tt;
skt[++tt]=x;//入栈
tt--;//弹出
if(tt==0) return empty;
else return not empty;

skt[tt]//栈顶

队列:先进先出

1
2
3
4
5
6
7
8
int q[N],hh=0,tt=-1;

q[++tt]=x;//插入

if(hh<=tt) not empty;
else empty//判断队列是否为空

hh++;//弹出

应用:单调栈,单调队列(滑动窗口)

一定要自己手模拟几遍,增强记忆,充分理解