队列和栈

定义:后进先出

存储:

1
int stk[N],tt;//stk存储栈的元素,tt存储栈顶位置

插入:

1
stk[++tt]=x;

删除:

1
t--;

判断栈是否为空:

1
2
3
bool empty(){
return !tt;
}

栈顶元素:

1
stk[tt];

元素个数:

1
tt

队列

定义:先进先出

存储:

1
int que[N],hh,tt=-1;//que存储队列,hh表示队头位置,tt表示队尾位置

插入:

1
que[++tt]=x;

删除:

1
hh++;

判断栈是否为空:

1
2
3
bool empty(){
return hh>tt;
}

队首元素:

1
que[hh];

队尾元素:

1
que[tt];

队列大小:

1
tt-hh+1;