主要介绍一下C++11版本中标准模板库中栈的用法,希望可以帮到需要用的人。

#include <iostream>
#include <stack>
#include <list>
#include <vector>
using namespace std;
//c++11 STL stack typedef int T;
int main()
{ //声明
//底层容器默认为 deque
stack<T> test;
//底层容器为 list
stack<T, list<T>> test1;
/*
stack<typename T, typename Container=deque<T>>
stack 的模板有两个参数,第一个为存储的元素的类型,第二个是底层容器的类型(默认为deque,也可声明为其他类型,如list)
*/
//初始化
vector<T> data(, );//vector初始化10个值为1的元素
stack<T, vector<T>> test3(data);//stack不可以在初始化列表用对象初始化,但是可以用另一个容器初始化
stack<T, vector<T>> test4{ test3 };
stack<T, vector<T>> test4( test3 );//stack可以用拷贝构造函数进行初始化,两种括号均可 //成员函数
test.top();//返回栈顶元素的引用,类型为T&
test.size();//返回栈顶元素的个数
test.pop();//弹出栈顶元素,无返回值,
test.push();//压栈,无返回值
test.empty();//判断栈是否为空,空返回true,非空返回false
test.emplace();//添加新的栈顶元素,无返回值,push的所有操作emplace都可以进行,但emplace可以在传入时构造函数
//push与emplace详细区别 详细参考 https://blog.csdn.net/Kprogram/article/details/82055673
stack<T> test0;
test.swap(test0);//交换两个栈中所有元素,前提是类型必须相同 return ;
}

最新文章

  1. [.NET] 开头不讲&quot;Hello Word&quot;,读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc
  2. 嵌入式环境下通过 UDP 链接来调试 QT 程序
  3. 扫地雷II
  4. JSP编程-步步为营
  5. ViewPager + Fragment 实现类微信界面
  6. IT忍者神龟之使用 PowerDesigner
  7. zabbix微信报警信息优化模板
  8. 浅谈测试驱动开发(TDD)
  9. 【咸鱼教程】本地图片上传。动态GIF表情图生成
  10. 网络基础知识 tcp
  11. 李洪强iOS之集成极光推送一iOS SDK概述
  12. Python之多进程
  13. Template7学习记录
  14. 使用wm_concat函数导致字符串过长
  15. PHP 生成唯一的激活码
  16. C++获取字符串长度数
  17. 北京Uber优步司机奖励政策(3月22日)
  18. maven打包jar源码至私服
  19. form表单中的id 与name的区别
  20. acdream1415(dij+优先队列+桥)

热门文章

  1. 推荐几个树莓派 raspbian 系统 可用的 arm docker源
  2. linux centos的安装及一些相关知识的整理
  3. VisionPro连接Dalsa线扫相机
  4. 再举个webstrom 正则应用例子。
  5. Go语言如何实现单例模式
  6. 吴裕雄--天生自然HTML学习笔记:HTML 链接
  7. jstl引入报错
  8. 深度学习之TensorFlow安装与初体验
  9. js事件节流
  10. python 前端素材提供