一、什么是 stack?
stack 容器,又称栈容器,是简单地装饰deque容器而成为另外的一种容器。
二、容器特性
1.单开口容器
实际上该容器模拟的就是栈存储结构,即无论是向里存数据还是从中取数据,都只能从一个开口实现操作。
2.不支持迭代器
只能通过固定的函数插入、访问和删除
三、基本函数实现
1,构造函数
- stack();创建一个空stack
2.元素的增加、获取与删除
- void push(const T& x); 往栈中添加元素
- reference top(const ); 获取栈顶元素
- void pop(const ); 删除栈顶元素
5.判断函数
- bool empty() const;判断容器中是否有元素,若无元素,则返回 true;反之,返回 false。
6.大小函数
- int size() const;返回栈中元素的个数
7.其他函数
- void swap(stack&);交换两个同类型栈的数据
四、基本用法
#include
#include
using namespace std;
int main()
{
stack<int> sk;
sk.push(2);
sk.push(3);
sk.push(4);
sk.push(5);
//只能这样去遍历,但是遍历玩后,所有的数据都会被删除
while (!sk.empty())
{
cout << sk.top() << " ";
sk.pop();
}
cout << "\\n size:" << sk.size() << endl;
return 0;
}
给大家布置一个小小的作业,用栈实现类似vs的括号匹配检查的程序~
比如:printf("plus"; 检测这个字符串会,显示缺少右括号)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
容器
+关注
关注
0文章
494浏览量
22050 -
STACK
+关注
关注
0文章
13浏览量
2792
发布评论请先 登录
相关推荐
An_SNMP_Agent_for_the_Microchip_TCPIP_Stack
An SNMP Agent for the Microchip TCPIP Stack
发表于 02-26 17:01
•3次下载
级联与STACK与IRF与集群间的相互区别
级联与STACK与IRF与集群间的相互区别(深圳核达中远通电源技术有限公司招聘)-级联与STACK与IRF与集群间的相互区别
发表于 08-31 19:59
•11次下载
重磅新品|CM4Stack
//4月4日,M5精心打磨了一年之久的CM4Stack终于上架,发售当天,立即售罄。这款错过要等几个月的产品,有什么迷人之处?通过下面这个开箱视频,我们可以先了解一下。上新啦CM4Stack是一款
评论