stack容器的详解

本文详细解析了C++中stack容器的工作原理,介绍了其基于deque的实现,展示了push()和pop()方法的使用,涵盖了拷贝构造、赋值以及数据存取、大小判断。通过实例演示,探讨了如何创建和操作不同类型的stack容器,如整型、浮点型和字符串。
摘要由CSDN通过智能技术生成

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的push()与pop()方法

stack.push(elem);   往栈头添加元素
stack.pop();        从栈头移除第一个元素

stack<int> stkInt;  	
stkInt.push(1);
stkInt.push(2);
stkInt.pop();   
stkInt.push(3);
此时stkInt存放的元素是1, 3

 stack对象的拷贝构造与赋值

stack(const stack &stk);		        拷贝构造函数
stack& operator=(const stack &stk);	    重载等号操作符

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(2);
stkIntA.push(3);

stack<int> stkIntB(stkIntA);		拷贝构造
stack<int> stkIntC;
stkIntC = stkIntA;				    赋值

 stack的数据存取

stack.top();	      返回最后一个压入栈元素

stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(2);
stkIntA.push(3);

int iTop = stkIntA.top();		//3
stkIntA.top() = 88;			    //88

 stack的大小

stack.empty();       判断堆栈是否为空
stack.size(); 	     返回堆栈的大小

stack<int> stkInt;
stkInt.push(1);
stkInt.push(2);
stkInt.push(3);
	
int iSize = stkInt.size();		//3

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值