STL之stack

一、stack(栈)

  栈:LIFO 后进先出;

  首先要指出的是,stack并非和STL的其他类模板是独立的容器,stack是自适应容器(容器适配器)

  stack<int, deque<int>>   s;

  stack<int, vector<int>>       s;

  stack<int, list<int>>           s;

  STL中实现的stack方法:

  s,empty();  s.size();  

  s.pop();    //弹出一个元素; 

  s.top();    //查看栈顶元素;   

  s.push(item)  //压入一个元素; 

示例代码如下:

 1 #include <iostream>
 2 #include <stack>
 3 #include <vector>
 4 #include <list>
 5 
 6 using namespace std;
 7 
 8 int main()
 9 {
10     //stack是自适应容器
11     stack<int, deque<int> >  a;
12     stack<int, vector<int> > b;
13     stack<int, list<int> >  c;
14     
15     //默认于a一样是用deque做stack
16     stack<int>              d;
17     d.push(25);
18     d.push(10);
19     d.push(1);
20     d.push(5);
21 
22     std::cout<< d.size() << std::endl;
23     int size = d.size();
24     for(int i=0;i<size;++i){
25         std::cout << "====="<< i << std::endl;
26         std::cout<<d.top() << std::endl;    //查看数据并返回
27         //std::cout<<d.pop() << std::endl;  //Error,查看数据并返回
28         d.pop();    //弹出数据,但不返回
29     }
30 }

  内容待补充.......

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值