STL之stack

stack容器

- '先进后出” - stack是堆栈容器,是一种的容器。
- 头文件:#include <stack>

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容器没有迭代器,因此不允许访问遍历,若是想访问相关的数据(数据在中间),必须将栈顶的空间释放到相应数据的位置

示例:

#include<iostream>
#include<stack>
using namespace std;
int main() {
	stack<int> stk;
	stk.push(1);
	stk.push(2);
	stk.push(3);
	stk.push(4);
	stk.push(5);
	cout << stk.top() << endl;
	while (!stk.empty()) {
		cout << stk.top() << endl;
		stk.pop();
	}
}

stack对象的拷贝构造与赋值

stack(const stack &stk);//拷贝构造函数

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

例:

stack<int>stkIntB(stkIntA);//拷贝构造

stack<int> stkIntC;

stkIntC=stkIntA;//赋值

stack的大小

stack.empty(); //判断堆栈是否为空

stack.size();//返回堆栈的大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值