栈(stack)

# 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值