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

相关推荐
NiNi_suanfa2 小时前
【Qt】Qt 批量修改同类对象
开发语言·c++·qt
小糖学代码3 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
Data_agent3 小时前
1688获得1688店铺详情API,python请求示例
开发语言·爬虫·python
信奥胡老师3 小时前
苹果电脑(mac系统)安装vscode与配置c++环境,并可以使用万能头文件全流程
c++·ide·vscode·macos·编辑器
妖灵翎幺3 小时前
C++ 中的 :: 操作符详解(一切情况)
开发语言·c++·ide
Halo_tjn4 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
star _chen4 小时前
C++实现完美洗牌算法
开发语言·c++·算法
周杰伦fans4 小时前
pycharm之gitignore设置
开发语言·python·pycharm
繁星星繁4 小时前
【C++】脚手架学习笔记 gflags与 gtest
c++·笔记·学习
别叫我->学废了->lol在线等5 小时前
演示 hasattr 和 ** 解包操作符
开发语言·前端·python