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

相关推荐
Huangxy__3 分钟前
java相机手搓(后续是文件保存以及接入大模型)
java·开发语言·数码相机
刚子编程7 分钟前
C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生
开发语言·c#·事务处理·trycatch
lsx20240613 分钟前
jEasyUI 自定义对话框
开发语言
陶然同学18 分钟前
【Python】文件操作
开发语言·python
Wild_Pointer.23 分钟前
C++:内存顺序(Memory Order)的概念以及使用
c++
来自远方的老作者25 分钟前
第10章 面向对象-10.3 封装
开发语言·python·私有属性·私有方法·封装
j_xxx404_28 分钟前
用系统调用从零封装一个C语言标准I/O库 | 附源码
linux·c语言·开发语言·后端
并不喜欢吃鱼30 分钟前
从零开始C++----七.继承相关模型,解析多继承与菱形继承问题(下篇)
开发语言·c++
devil-J38 分钟前
vue3+three.js中国3D地图
开发语言·javascript·3d
Xiaoᴗo.41 分钟前
C语言2.0---------
c语言·开发语言·数据结构