Stack容器介绍

stack的基础用法,函数参数,典型应用,实现机制
stack:[stæk]
stack([stæk] )堆栈是一种容器适配器,专门设计用于在LIFO(last-in first-out)环境(后进先出)中操作,在该环境中,仅从容器的一端插入和提取元素。
堆栈被实现为容器适配器,它们是使用特定容器类的封装对象作为其基础容器的类,提供了一组特定的成员函数来访问其元素。 元素从特定容器的“后部”被推入/弹出,这被称为堆栈的顶部
stack原理示意图

stack理解

stack用法

基础容器可以是任何标准容器类模板或某些其他专门设计的容器类。 容器应支持以下操作:

成员函数功能
empty测试堆栈是否为空
size返回堆栈大小
push在堆栈顶部插入元素,调用底层对象成员push_back
pop移除堆栈顶部元素,调用底层容器对象成员pop_back
top返回堆栈顶部的元素即最后插入容器的元素,调用底层容器对象成员back
emplace在堆栈顶部构造和插入元素,调用底层容器对象成员empalce_back
swap用新的内容交换容器适配器(*this)的内容。

stack对象的默认构造
stack采用模板类实现,stack对象的默认构造形式:

stack<T> stkT;

stack对象的拷贝构造与赋值

//拷贝构造函数
stack(const stack &stk);
//重载等号操作符
stack& operator=(const stack &stk);
stack<int>stkInt1,stkInt2,stkInt3;
for(int i=0;i<10;i++){
	stkInt1.push(i);
}
stkInt2(stkInt1);
stkInt3 = stkInt2;

stack容器实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值