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;
};
}

相关推荐
一定要AK4 小时前
刷题时的学习笔记
c++·笔记·学习
cch89187 小时前
汇编与Java:底层与高层的编程对决
java·开发语言·汇编
荒川之神8 小时前
拉链表概念与基本设计
java·开发语言·数据库
chushiyunen8 小时前
python中的@Property和@Setter
java·开发语言·python
小樱花的樱花8 小时前
C++ new和delete用法详解
linux·开发语言·c++
froginwe118 小时前
C 运算符
开发语言
fengfuyao9859 小时前
低数据极限下模型预测控制的非线性动力学的稀疏识别 MATLAB实现
开发语言·matlab
摇滚侠9 小时前
搭建前端开发环境 安装 nodejs 设置淘宝镜像 最简化最标准版本 不使用 NVM NVM 高版本无法安装低版本 nodejs
java·开发语言·node.js
t198751289 小时前
MATLAB十字路口车辆通行情况模拟系统
开发语言·matlab
yyk的萌9 小时前
AI 应用开发工程师基础学习计划
开发语言·python·学习·ai·lua