目录
- queue(队列)
- 双端队列(deque)
- 栈(stack)
queue(队列)
定义一个名为 que 的存储 int 类型元素的队列:
queue<int> que;入队操作:
que.push(a); // 其中a是一个int类型的变量出队操作:
que.pop();但是在队列为空时,进行出队操作会出错。所以需要先判断一下队列是否为空。
判断队列是否为空:
que.empty()它返回一个 bool 值,如果队列为空返回 true,否则返回 false。
队首元素:
que.front();队尾元素:
que.back();队列中元素个数:
que.size();清空队列:
队列没有单独的函数用来清空它,所以我们可以使用如下方法来清空队列:
while (!que.empty())
que.pop();双端队列(deque)
区别于一般的队列,只能从队尾入队,从队首出队;
双端队列是可以同时从队首入队和出队,也可以同时从队尾入队和出队的队列。
定义一个名为 que 的存放 int 类型的双端队列(deque):
deque<int> que;队首元素:
que.front()队尾元素:
que.back()判断双端队列是否为空:
que.empty()获得双端队列的元素个数:
que.size()从队首入队:
que.push_front(a);从队尾入队:
que.push_back(a);从队首出队:
que.pop_front();从队尾出队:
que.pop_back();清空双端队列:
因为双端队列没有 pop() 方法,所以我们可以用 pop_front 或者 pop_back 代替。
while (!que.empty())
que.pop_front();或
while (!que.empty())
que.pop_back();当然,双端队列还有更方便的清空它自己的方法:
que.clear();栈(stack)
既然讲了队列、双端队列,我们再来学习(复习一下)栈(stack)的使用。
定义一个名为 stk 的存放 int 类型的栈:
stack<int> stk;获得栈顶元素:
stk.top()入栈操作:
stk.push(a);出栈操作:
stk.pop();判断栈是否为空:
stk.empty()栈中元素个数:
stk.size()清空栈:
while (!stk.empty()) stk.pop();










