手写栈
const int N = 2e5 + 5;
struct Stack
{
int a[N];
int tot = 0;
void push(int x)
{
a[tot++] = x;
}
int pop()
{
int ret = a[tot - 1];
a[--tot] = 0;
return ret;
}
int size()
{
return tot;
}
}S;
手写队列
const int N = 2e5 + 5;
struct Queue
{
int a[N];
int l = 0, r = 0;
void push(int x)
{
a[r++] = x;
}
int pop()
{
return a[l++];
}
int size()
{
return r - l;
}
} Q;