------------恢复内容开始------------

### 栈和队列 此处均为用数组模拟(~~因为懒~~) 实际上是因为STL里的栈和队列常数太大 ,不如用数组模拟,而且能做的事也比STL多

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

int stk[N],tt;
skt[++tt]=x;//入栈

tt--;//弹出

if(tt==0) return empty;
else return not empty;

skt[tt]//栈顶

队列:先进先出


int q[N],hh=0,tt=-1;

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

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

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

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

单调栈:
维持一个栈使得栈中的元素是严格单调上升或单调下降的

栈和队列

此处均为用数组模拟(因为不会
实际上是因为STL里的栈和队列常数太大 ,不如用数组模拟,而且数组能做的事也比STL多

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

int stk[N],tt;
skt[++tt]=x;//入栈

tt--;//弹出

if(tt==0) return empty;
else return not empty;

skt[tt]//栈顶

队列:先进先出


int q[N],hh=0,tt=-1;

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

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

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

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

单调栈:
维持一个栈使得栈中的元素是严格单调上升或单调下降的