STL常用容器——stack容器的使用

本文详细介绍了STL中的stack容器,包括其作为先进后出的数据结构特点,如何通过包含头文件和构造函数创建不同类型的stack,以及常用的操作如push、pop、top和栈的空判断。重点展示了stack容器的接口和基本操作示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STL常用容器——stack容器的使用

1、stack容器介绍

stack容器简介

stack容器是堆栈容器,该容器具有先进后出的特性;

使用stack容器需要引入头文件#include <stack>

stack容器只允许在容器的栈顶进行插入或删除操作;

stack容器不允许有遍历行为,也不提供迭代器;

有元素入栈的操作称为:push;将元素出栈的操作称为:pop

栈的相关概念

栈顶(Top):栈允许进行插入和删除操作的一端;

栈底(Bottom):栈固定并且不允许进行插入和删除操作的一端;

空栈:不含有任何元素的空栈

2、stack容器常用接口

stack容器构造函数

构造函数一:stack stk:默认构造函数

代码实例:

stack <int> stkInt;         //构造存放int的stack容器。
stack <float> stkFloat;     //构造存放float的stack容器。
stack <string> stkString;	//构造存放string的stack容器

构造函数二:stack(const stack &stk):拷贝构造函数

代码实例:

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
//拷贝构造函数
stack<int> stkIntB(stkIntA);

stack容器赋值操作

stack& operator = (const stack &stk):重载等号操作符

代码实例:

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stack<int> stkIntC;
//赋值
stkIntC = stkIntA; 

stack容器数据存取

push(elem):添加元素进栈,若栈未满则将elem加入栈顶;

pop():移除元素,若栈非空则弹出栈顶元素;

top():返回栈顶元素;

代码实例:

stack<int> stkInt;          
stkInt.push(1);
stkInt.push(3);; 
stkInt.push(5);
stkInt.pop();         
int top = stkInt.top(); //top= 3

stack容器大小操作

empty():判断栈是否为空

size():返回栈的大小

代码实例:

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
stkIntA.push(5);
stkIntA.push(7);
stkIntA.push(9);

if (!stkIntA.empty())
{
    int iSize = stkIntA.size();        //5
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里顾—程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值