数组模拟栈
#include <iostream> using namespace std; const int N = 100010; int stk[N],tt; //插入 stk[ ++ tt] = x; //弹出 tt -- ; //判断栈是否为空 if(tt > 0) not empty; else is empty; //栈顶 stk[tt];
数组模拟队列
#include <iostream> using namespace std; const int N = 100010; int q[N],hh,tt = -1; //hh表示队头,tt表示队尾,tt从0或-1开始看个人习惯 //入队 q[ ++ tt] = x; //出队 hh ++ ; //判断队列是否为空 if( hh <= tt) not empty; else is empty; //取队头 q[hh]; //取队尾 q[tt];