栈(stack)

来源:互联网 发布:青海蒙古 知乎 编辑:程序博客网 时间:2024/05/15 07:57
# include <iostream># include <stack># include <vector># include <list># include <deque> using namespace std;/*    栈(stack)    后进先出    自适应容器        操作:        empry-->是否为空  空返回true  不开返回false         size-->大小        pop-->出栈-->无返回值         top-->查看栈顶的数据-->返回栈顶元素         push-->把数据压入栈顶 */int main(){    //stack默认底层是用 deque存储的,下面的代码等价于 stack<int> a;     stack<int,deque<int>/*这个有个空格*/> a;    stack<int,vector<int> > b;//用vector(向量)来做堆栈     stack<int,list<int> > c;// 用list(链表)来做堆栈     stack<int> d;//等价于第一个     d.push(22);    d.push(10);    d.push(-1);    d.push(100);    //int x = d.pop();  error 删除栈顶元素,并没有返回值     d.pop();//100删除    int x = d.top();//查看栈顶元素并没有删除      cout<<x<<endl<<endl;    //查看栈里面的数据    cout<<d.size()<<endl<<endl;    //显示栈内的所有元素,并删除     //while(d.size()!=0){      while(d.empty()==false){        int y = d.top();        d.pop();        cout<<y<<"  ";     }     cout<<endl;    return 0;}

运行结果:
-1

3

-1 10 22

0 0