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) //压入一个元素;
示例代码如下:
#include <iostream>
#include <stack>
#include <vector>
#include <list> using namespace std; int main()
{
//stack是自适应容器
stack<int, deque<int> > a;
stack<int, vector<int> > b;
stack<int, list<int> > c; //默认于a一样是用deque做stack
stack<int> d;
d.push();
d.push();
d.push();
d.push(); std::cout<< d.size() << std::endl;
int size = d.size();
for(int i=;i<size;++i){
std::cout << "====="<< i << std::endl;
std::cout<<d.top() << std::endl; //查看数据并返回
//std::cout<<d.pop() << std::endl; //Error,查看数据并返回
d.pop(); //弹出数据,但不返回
}
}
内容待补充.......
STL之stack的更多相关文章
- STL之stack操作
c++ stl栈stack介绍 C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构. c++ stl栈stack的头文件 ...
- STL之stack(栈)
栈(statck)这种数据结构在计算机中是相当出名的.栈中的数据是先进后出的(First In Last Out, FILO).栈只有一个出口,允许新增元素(只能在栈顶上增加).移出元素(只能移出栈顶 ...
- 带你深入理解STL之Stack和Queue
上一篇博客,带你深入理解STL之Deque容器中详细介绍了deque容器的源码实现方式.结合前面介绍的两个容器vector和list,在使用的过程中,我们确实要知道在什么情况下需要选择恰当的容器来满足 ...
- C++ STL:stack和queue
http://blog.csdn.net/wallwind/article/details/6858634 http://blog.csdn.net/chao_xun/article/details/ ...
- STL中stack/queue/map以及Boost unordered_map 的使用方法
一.stackstack 模板类的定义在<stack>头文件中.stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型 ...
- stl的stack在开发中的应用
栈有后进先出特点,我们可以用它来暂时保存数据,在画板开发中,我用到了栈来保存用户的每一步操作,当用户点击撤销时可以把图像从栈里面取出,然后恢复.浏览器的前进和后退也是这个原理,只是它保存的是网页罢了. ...
- stl(set+stack) LA 3634 The SetStack Computer
题目传送门 题意:给一些对集合的操作,询问每一次操作后栈顶的集合元素个数 分析:首先{}是空的,每一次add时候,{} -> { {} }变成了有一个元素的集合,利用set和stack,map容 ...
- STL中stack小结
(1)为了运用stack,你必须包含头文件<stack>:#include<stack> (2)在头文件中stack定义如下: namespace std{ template ...
- STL之stack栈
栈(statck)这种数据结构在计算机中是相当出名的.栈中的数据是先进后出的(First In Last Out, FILO).栈只有一个出口,允许新增元素(只能在栈顶上增加).移出元素(只能移出栈顶 ...
随机推荐
- 面试题之String str = new String("abc"); 创建了几个对象
今天去面试的时候碰到了这个问题:String str = new String("abc"); 创建了几个对象,回来自己研究并查阅资料才发现答错了..网上的争论不少,有的说是两个, ...
- HDU2008-数值统计
描述: 统计给定的n个实数中,负数.零和正数的个数. 代码: #include<stdio.h> #include<string.h> #include<iostream ...
- parquet code demo
http://www.programcreek.com/java-api-examples/index.php?source_dir=hiped2-master/src/main/java/hip/c ...
- html5 存储篇(一)
localStorage 和 sessionStorage localStorage 与 sessionStorage的相同点: (1).都是用于客户端存储的技术,相对于传统 ...
- Symfony框架系列----1.入门安装
一.安装 (1)Composer安装(可选) $ curl -s https://getcomposer.org/installer | php $ php composer.phar crea ...
- javascript Error对象详解
今天谈一下在IE浏览器下返回执行错误的Javascript代码所在的问题.其中在IE浏览器下,如果你使用了try-catch,那么当出现异常的时候,IE浏览器会传递一个Error对象. ~~~怎么通过 ...
- 实战Windows 7的Windows Media Center
简介 本文讲述如何通过Windows 7的Windows Media Center搭建强劲的综合娱乐电视系统,同时讲述Windows Media Center的实际使用感受,以及如何通过Windows ...
- 面试题:对一个正整数n,算得到1需要的最少操作次数
实现一个函数,对一个正整数n,算得到1需要的最少操作次数.操作规则为:如果n为偶数,将其除以2:如果n为奇数,可以加1或减1:一直处理下去.例子:func(7) = 4,可以证明最少需要4次运算n = ...
- 一个php user class
这个类叫php user class.php user class is an easy to use php snippet for user manipulation (register, log ...
- ActionBarSherlock的使用--------(一)配置
ActionBarSherlock的使用--(一)配置 简介: 从android 3.0开始,android加入了一个新的api,actoinbar,随着android 4.0的发布和慢慢的推广开来, ...