浅谈C++ STL stack 容器
2023-09-11 14:20:16 时间
浅谈C++ STL stack 容器
本篇随笔简单介绍一下\(C++STL\)中\(stack\)容器的使用方法和常见的使用技巧。
stack容器的概念
\(stack\)在英文中是栈的意思。栈是一种基本的数据结构。而\(C++STL\)中的栈就是把这种数据结构模板化了。
栈的示意图如下:这是一个先进后出的数据结构。这非常重要!!
事实上,\(stack\)容器并不是一种标准的数据结构,它其实是一个容器适配器,里面还可以存其他的\(STL\)容器。但那种使用方法过于高深而且不是很常用,所以在此不与介绍。请有兴趣的读者自行查询资料。
stack容器的声明
\(stack\)容器存放在模板库:#include<stack>
里,使用前需要先开这个库。
\(stack\)容器的声明遵循\(C++STL\)的一般声明原则:
容器类型<变量类型> 名称
例:
#include<stack>
stack<int> st;
stack<char> st;
stack<pair<int,int> > st;
stack<node> st;
struct node{...};
stack容器的使用方法
\(stack\)容器的使用方法大致如下表所示:
用法 | 作用 |
---|---|
st.top() |
返回stack的栈顶元素 |
st.push() |
从stack栈顶加入一个元素 |
st.size() |
返回stack当前的长度(大小) |
st.pop() |
从stack栈顶弹出一个元素 |
st.empty() |
返回stack是否为空,1为空、0不为空 |
相关文章
- C++ 根据分隔符分割字符串为 vector 字符串数组
- qt实现web服务器加载vue应用进行C++和html混合编程-连载【6】-企业级系统开发实战连载系列 -技术栈(vue、element-ui、qt、c++、sqlite)
- 托管C++线程锁实现 c++11线程池
- 如何编写 C++ 无序容器的哈希函数
- C02-程序设计基础提高班(C++)第8周上机任务-结构体
- c++STL map(映射)容器总结
- 开源免费的C/C++网络库(c/c++ sockets library)补充
- [C++]:万字超详细讲解多态以及多态的实现原理(面试的必考的c++考点)
- C++ 哈弗曼编码的实现与反编码
- 使用c++filt命令还原C++编译后的函数名
- 《C++覆辙录》——1.11:聪明反被聪明误
- 《C++ Primer Plus(第6版)中文版》——1.5 总结
- 《数字图像处理与机器视觉——Visual C++与Matlab实现》导读
- C++中的容器
- 【C++】deque容器、stack容器&queue容器
- C++编程——函数模板
- C++迭代器之'反向迭代器'
- 153、【动态规划】leetcode ——1049. 最后一块石头的重量 II:滚动数组(C++版本)
- 98、【树与二叉树】leetcode ——112. 路径总和:5行精简代码回溯法[带剪枝]+迭代法(C++版本)
- 浅谈C++ STL string容器
- 浅谈C++ STL list 容器
- 【C++】C++大数的运算
- C++/C, Java学习资料