代码改变世界

C++ STL stack和queue

2015-03-10 09:55  itwolf  阅读(346)  评论(0编辑  收藏  举报

C++ STL中独立的序列式容器只有vector,list,deque三种,stack和queue其实就是使用容器适配器对deque进行了封装,使用了新接口。

使用标准库的栈和队列时,先包含相关的头文件

#include<stack>

#include<queue>

定义栈如下:

stack<int> stk;

定义队列如下:

queue<int> q;

栈提供了如下的操作

  1. s.empty()             如果栈为空返回true,否则返回false 
  2. s.size()                返回栈中元素的个数 
  3. s.pop()                 删除栈顶元素但不返回其值 
  4. s.top()                 返回栈顶的元素,但不删除该元素 
  5. s.push()                在栈顶压入新元素 

队列提供了如下的操作

  1. q.empty()             如果队列为空返回true,否则返回false 
  2. q.size()                返回队列中元素的个数 
  3. q.pop()                 删除队列首元素但不返回其值 
  4. q.front()               返回队首元素的值,但不删除该元素 
  5. q.push()                在队尾压入新元素 
  6. q.back()                返回队列尾元素的值,但不删除该元素