STACK
Stack(栈)是一种后进先出的数据结构
使用STL的STACK需要的头文件
#include一个头文件<stack>
stack是基于deque实现的 相当于 deque双端队列 封闭了一端
stack的构造
&.1
stack< int > first ; // 构造一个存放int类型的空栈,size=0;
&.2
deque<int> mydeque (3,100); //构造一个包含3个int元素的双端队列
stack<int> second (mydeque); //用自己的双端队列构造一个栈(size=3)
&.3
stack<int,vector<int> > third; //指明用vector实现一个栈(存放int),空栈size=0
&.4
v
ector<int> myvector (2,200); //构造一个存放2个元素的vector
&.5
stack<int,vector<int> > fourth (myvector); //用自己的vector构造一个栈,size=2
成员函数
push
mystack.push(i);
push函数将参数元素加入栈中,没有返回值(例如这里循环将0,1,2,3,4加入栈中,注意栈顶元素是4)
size
`mystack.size()`
size函数返回栈的大小(如果有5个元素,size=5)
empty
mystack.empty()
empty函数返回一个bool值,栈为空时返回true,否则返回false
top
mystack.top();
top函数的返回值是栈顶元素(注意并没有删掉栈顶元素
pop
mystack