STL stack 容器
STL stack 容器
Stack简介
stack是堆栈容器,是一种“先进后出”的容器。
stack是简单地装饰deque容器而成为另外的一种容器。
#include <stack>
stack对象的默认构造
stack采用模板类实现,
stack对象的默认构造形式:
stack <T> stkT;
示例:
stack <int> stkInt;
//一个存放int的stack容器。
stack <float> stkFloat;
//一个存放float的stack容器。
stack <string> stkString;
//一个存放string的stack容器。
...
//尖括号内还可以设置指针类型或自定义类型。
stack对象的拷贝构造与赋值
理论知识:
stack(const stack &stk)
拷贝构造函数
stack& operator=(const stack &stk)
重载等号操作符
示例:
stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stkIntA.push(5);
stkIntA.push(7);
stkIntA.push(9);
stack<int> stkIntB(stkIntA); //拷贝构造
stack<int> stkIntC;
stkIntC = stkIntA; //赋值
stack的push()与pop()方法
理论知识:
stack.push(elem) 往栈头添加元素
stack.pop() 从栈头移除第一个元素
示例:
stack<int> stkInt;
stkInt.push(1);
stkInt.push(3);
stkInt.pop();
stkInt.push(5);
stkInt.push(7);
stkInt.push(9);
stkInt.pop();
stkInt.pop(); 此时stkInt存放的元素是1,5
stack的数据存取
理论知识:
stack.top()
返回最后一个压入栈元素
示例:
stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stkIntA.push(5);
stkIntA.push(7);
stkIntA.push(9);
int iTop = stkIntA.top(); //9
stkIntA.top() = 19; //19
stack的大小
理论知识:
stack.empty()
判断堆栈是否为空
stack.size()
返回堆栈的大小
示例:
stack<int>
stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stkIntA.push(5);
stkIntA.push(7);
tkIntA.push(9);
if (!stkIntA.empty())
{
int iSize = stkIntA.size(); //5
}
STL stack 容器相关推荐
- [C++STL]stack容器用法介绍
- C++STL的stack容器
C++STL的stack容器 stack 基本概念 stack 常用接口 stack 基本概念 概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口 ...
- c++ stl栈容器stack用法介绍
stack堆栈容器 堆栈是一个线性表,插入和删除只在表的一端进行.这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom).堆栈的元素插入称为入栈,元素的删除称为出栈.由于元素 ...
- STL之容器stack
目录 栈的底层实现原理 1. stack定义和初始化 2.stack的赋值 3. stack进栈和出栈 4. stack判空和大小 5. 注意事项(附加) 欢迎关注微信公众号 "三贝勒文子& ...
- 【C++】 STL库的stack容器
STL库的stack容器 1.构造函数 2.增 2.1 push() 2.2 emplace() 两者区别 3.删 pop() 4.改 4.1 swap()交换 5.查 top() 6.判空 empt ...
- c++ stl stack(FILO,容器配接器)
1.stack stack是一种先进后出的数据结构,它只有一个出口.stack允许新增元素.移除元素.取得最顶元素.但除了最顶端外,没有任何其他方法可以存取stack的其他元素.换言之,stack不允 ...
- STL之stack容器
1.stack容器 1) stack是堆栈容器,是一种"先进后出"的容器. 2)stack是简单地装饰deque容器而成为另外的一种容器. 3)头文件.#include <s ...
- 容器删除元素后迭代器失效_STL 4: STL之容器:选择时机,删除元素,迭代器失效...
一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist和rope.sl ...
- [C++ STL] 各容器简单介绍
[C++ STL] 各容器简单介绍 目录 一.什么是STL? 二.容器(Containers) 2.1 vector 2.2 deque 2.3 list 2.4 set 2.5 map 2.6 容器 ...
最新文章
- 智源青年科学家梁云:异构系统中张量计算的自动调度和优化框架
- 收藏!机器学习算法分类图谱及其优缺点综合分析
- android自动创建桌面,Android应用启动后自动创建桌面快捷方式的实现方法
- Python中metaclass解释
- tomcat的安装和部署项目
- linux 批量下载图片,Python + Excel 实现图片批量下载
- VTK:功能袋图用法实战
- 分块内存映射处理大文件-例子
- Android 切换卡(TabWidget)
- 在Linux中怎么把用户添加到组中
- C语言基础知识【作用域规则】
- 风控中英文术语手册(银行_消费金融信贷业务)_v4
- 变频器按启动没反应_变频器按运行键电动机不转故障怎样维修
- html文本框怎么写表情,HTML实现输入框内插入QQ表情
- 跨语言词向量笔记2. 跨语言词向量表示简史
- Ribbon的基本使用
- 网件rax40可以刷梅林_Netgear 网件 RAX40 AX3000规格 无线路由器 开箱拆解评测
- android虚拟机共享文件夹在哪里打开,【已解决】Nox夜神安卓模拟器中/mnt/shared对应Mac的共享目录在哪里...
- 2018上期Android学期总结
- 赛前采访里皮表示:希望队员用真心踢球。
热门文章
- 关于(我们流量表优化),分区表数据块过多,聚合又导致数据倾斜问题
- 【NOIp2002】矩形覆盖
- Java EE中的重新验证(java.util.regex.Pattern)
- 003-神经网络基础-最优化,前向传播,反向传播
- 使用Angular2建立项目
- (二)stm32之中断配置
- CGRect包含交错,边缘,中心的检测
- 诗与远方:无题(二十二)
- 排序 -> 选择排序
- zanli_android_1.1.0,【轻松集赞】写了个涉嫌混淆微信官方服务的小程序