栈和队列是STL中两个数据结构。
三个C++版本的STL:
- HP STL
- PJ Plauger
- SGI STL
常用的是SGI的STL里的数据结构。
栈和队列是不提供随机访问功能的,所有的元素必须符合LIFO or FIFIO. 也不提供迭代器Iterator来遍历元素
STL中栈的实现。
对外提供pop,push,top三个接口
底层以vector or deque or list实现
默认为deque实现
也可选择另外两个数据结构实现
std::stack<int, std::vector<int> > myStack;
队列和栈的实现相似
queue<int> myqueue;
myqueue.pop();
myqueue.push(xx);
myqueue.front();
myqueue.empty()
注意: 队列和栈在stl中不被归为容器,而是被归为容器适配器(container adapter)