(1)为了运用stack,你必须包含头文件<stack>:#include<stack>

(2)在头文件中stack定义如下:
namespace std{
template <class T, class Container = deque<T> >
class stack;
}
第一个template参数代表元素型别,带有默认值的第二个参数用来定义stack内部存放元素所用的实际容器,缺省采用deque。之所以采用deque而非vector,是因为deque移除元素时会释放内存并且不必在重新分配时复制全部元素。实际上stack只是很单纯的把各项操作转化为内部容器的对应调用,你可以使用任何序列式容器来支持stack,只要它们支持back(),push_back(),pop_back()等动作就行了。 (3)stack的各项操作:
stack::stack()默认构造函数,产生一个空stack explicit stack::stack(const Container& cont)
产生一个stack,并以容器cont内的元素为初值(复制) size_type stack::size() const
返回元素个数 bool stack::empty() const
判断stack是否为空 void stack::push(const value_type& elem)
将elem的副本插入stack使其成为新的第一个元素 value_type& stack::top()
const value_type& stack::top() const
返回stack的栈顶元素,调用者必须确保stack不为空否则可能是未定义的行为 void stack::pop()
移除stack的栈顶元素,调用者必须确保stack不为空否则可能是未定义的行为 bool comparison(const stack& st1, const stack& st2)
返回两个同型的stack的比较结果comparison可以是下面各个运算之一:operator ==,operator !=,operator <,operator >,operator <=,operator >=

  

STL中stack小结的更多相关文章

  1. STL中stack/queue/map以及Boost unordered_map 的使用方法

    一.stackstack 模板类的定义在<stack>头文件中.stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型 ...

  2. STL中priority_queue小结

    (1)为了运用priority_queue,你必须包含头文件<queue>:#include<queue> (2)在头文件中priority_queue定义如下: namesp ...

  3. STL 中priority_queue小结

    (1)为了运用priority_queue,你必须包含头文件<queue>:#include<queue>    (2)在头文件中priority_queue定义如下: nam ...

  4. STL中vector小结

    ()使用vector之前必须包含头文件<vector>:#include<vector> ()namespace std{ template <class T, clas ...

  5. STL中的stack(堆栈)

    转载:http://blog.csdn.net/morewindows/article/details/6950881 栈(statck)这种数据结构在计算机中是相当出名的.栈中的数据是先进后出的(F ...

  6. stl的stack在开发中的应用

    栈有后进先出特点,我们可以用它来暂时保存数据,在画板开发中,我用到了栈来保存用户的每一步操作,当用户点击撤销时可以把图像从栈里面取出,然后恢复.浏览器的前进和后退也是这个原理,只是它保存的是网页罢了. ...

  7. STL中的set容器的一点总结

    1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...

  8. 深入了解STL中set与hash_set,hash表基础

    一,set和hash_set简介 在STL中,set是以红黑树(RB-Tree)作为底层数据结构的,hash_set是以哈希表(Hash table)作为底层数据结构的.set可以在时间复杂度为O(l ...

  9. 【转】 STL中的set容器的一点总结

    1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...

随机推荐

  1. SQL Server 内存中OLTP内部机制概述(四)

    ----------------------------我是分割线------------------------------- 本文翻译自微软白皮书<SQL Server In-Memory ...

  2. 远哥谈 使用WebSocket开发在线实时看远程服务器log日志的工具

    我们开发软件的,通常会有一个测试环境/开发环境,但是系统开发完成后,还会有一个生产环境,也叫正式环境.正式环境我们一般是不能让开发人员去远程登录和维护的,一般正规的生产环境是专门的负责人员去负责更新, ...

  3. static成员函数

    1.static成员函数不能定义为const的,这是因为static成员函数只是全局函数的一个形式上的封装,而且static成员函数不能访问类的非静态成员(没有this)指针,修改非静态数据成员又从何 ...

  4. Selenium3笔记-WebDriver源码初探

    Selenium3 有哪些变化? 其实相对于与Selenium2,Selenium3没有做太多的改动.下面给出官方的文档说明,供参考. 参考文档:https://seleniumhq.wordpres ...

  5. Unity3D Shader入门指南(二)

    关于本系列 这是Unity3D Shader入门指南系列的第二篇,本系列面向的对象是新接触Shader开发的Unity3D使用者,因为我本身自己也是Shader初学者,因此可能会存在错误或者疏漏,如果 ...

  6. Linux文件系统性能优化 (转)

    http://blog.chinaunix.net/uid-7530389-id-2050116.html 由于各种的I/O负载情形各异,Linux系统中文件系统的缺省配置一般来说都比较中庸,强调普遍 ...

  7. sqlserver row_number 类似 mysql中 limit 用法

    select * from ( select row_number() over(ORDER BY inspecdate desc,inspectime DESC,itemorder asc ) as ...

  8. [转] Visual Studio Code behind a proxy

    http://www.tuicool.com/articles/jyyIBf3 http://blog.majcica.com/2016/04/07/visual-studio-code-behind ...

  9. Oracle Goldengate REPLICAT启动时报正在运行解决办法

    stop replicate时报ERROR: opening port for REPLICAT MYREP (TCP/IP error: Connection refused). start rep ...

  10. 手机操控全站仪安卓版 测量员.app

    大家期待已久的智能化全站仪测量功能已经实现了, 简介 测量员是一款运行在智能手机上的测量应用程序,具有计算精确.轻松高效.智能便捷的特点.测量员可以应用在道路.桥梁.铁路.隧道.地铁.市政等工程中,除 ...