我是靠谱客的博主 粗暴酒窝,这篇文章主要介绍stack容器的使用stack容器,现在分享给大家,希望可以做个参考。

stack容器

stack是堆栈容器,是一种“先进后出”的容器。stack是基于deque容器而实现的容器。

使用

复制代码
1
2
#include<stack>//头文件

stack对象的默认构造
stack采用模板类实现, stack对象的默认构造形式:
stack stkT;

复制代码
1
2
3
4
stack<int> stkint; stack<float> stkfloat; stack<string> stkstr;

也可以设置指针类型或者自定义的结构体类型。

出栈和入栈操作

复制代码
1
2
3
4
5
6
7
8
9
stkint.push(1);//入栈整型1 stkint.pop();//出栈 stkInt.push(1); stkInt.push(2); stkInt.pop(); stkInt.push(3); //此时stkInt存放的元素是1, 3

stack数据存取

复制代码
1
2
stkint.top();//返回最后一个入栈的元素

stack的大小

复制代码
1
2
3
stkint.empty();//判断堆栈是否为空,若为空返回true stack.size();//返回堆栈的大小

C++中stack
pop(), 返回void,
top(),返回栈顶的引用。
所以想要提取栈顶元素,直接用s.top()

stack没有现成的清空函数(clear),一半采用两种方法进行清空:
1.逐一弹出栈顶元素

复制代码
1
2
3
stack<int> intstk; while(!intstk.empty()) intstk.pop();

2.和空栈交换
swap相当于交换了intstk和一个空的临时堆栈的内容,然后临时堆栈再结束生命周期,但由于操作的是堆空间,其实还是一个一个释放空间。该方法的速度要比1快一些。

复制代码
1
2
3
stack<int> intstk; stack<int>().swap(intstk);

例题

  1. 有效的括号(力扣)

最后

以上就是粗暴酒窝最近收集整理的关于stack容器的使用stack容器的全部内容,更多相关stack容器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部