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

相关推荐
趣知岛1 小时前
初识Java
java·开发语言
步菲3 小时前
springboot canche 无法避免Null key错误, Null key returned for cache operation
java·开发语言·spring boot
香蕉卜拿拿拿7 小时前
软件解耦与扩展的利器:基于C++与C#的插件式开发实践
c++
知远同学8 小时前
Anaconda的安装使用(为python管理虚拟环境)
开发语言·python
小徐Chao努力8 小时前
【Langchain4j-Java AI开发】09-Agent智能体工作流
java·开发语言·人工智能
CoderCodingNo8 小时前
【GESP】C++五级真题(贪心和剪枝思想) luogu-B3930 [GESP202312 五级] 烹饪问题
开发语言·c++·剪枝
kylezhao20198 小时前
第1章:第一节 开发环境搭建(工控场景最优配置)
开发语言·c#
啃火龙果的兔子8 小时前
JavaScript 中的 Symbol 特性详解
开发语言·javascript·ecmascript
热爱专研AI的学妹9 小时前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
Mr_Chenph9 小时前
Miniconda3在Windows11上和本地Python共生
开发语言·python·miniconda3