C++STL之stack

1.stack的使用

|-------------|----------------------------------------|
| 函数说明 | 接口说明 |
| stack() | 构造空的栈 |
| empty() | 检测 stack 是否为空 |
| size() | 返回 stack 中元素的个数 |
| top() | 返回栈顶元素的引用 |
| push() | 将元素 val 压入 stack |
| pop() | stack 中尾部的元素弹出 |

2.stack的模拟实现

cpp 复制代码
#include<vector>
namespace abc
{
template<class T>
class stack
{
public:
stack() {
}
void push(const T& x) {
_c.push_back(x);
}
void pop() {
_c.pop_back();
}
T& top() {
return _c.back();
}
const T& top()const {
return _c.back();
}
size_t size()const {
return _c.size();
}
bool empty()const {
return _c.empty();
}
private:
std::vector<T> _c;
};
}

相关推荐
凛_Lin~~1 分钟前
安卓 Java线程八股文 (线程、多线程、线程池、线程安全)
android·java·开发语言
C语言不精5 分钟前
c语言-优雅的多级菜单设计与实现
c语言·开发语言·算法
geekmice6 分钟前
thymeleaf处理参数传递问题
开发语言·lua
LNN20228 分钟前
Qt 5.8.0 下实现触摸屏热插拔功能的探索与实践(2)
开发语言·qt
董世昌419 分钟前
箭头函数和普通函数有什么区别
开发语言·javascript·ecmascript
AI科技星12 分钟前
张祥前统一场论:引力场与磁矢势的关联,反引力场生成及拉格朗日点解析(网友问题解答)
开发语言·数据结构·经验分享·线性代数·算法
β添砖java13 分钟前
python第一阶段第八章文件操作
开发语言·python
-森屿安年-30 分钟前
二叉平衡树的实现
开发语言·数据结构·c++
脑极体32 分钟前
蓝河入海:Rust先行者vivo的开源之志
开发语言·后端·rust·开源
foxsen_xia33 分钟前
go(基础01)——协程
开发语言·算法·golang