stack容器
stack是堆栈容器,是一种“先进后出”的容器。stack是基于deque容器而实现的容器。
使用
复制代码
1
2#include<stack>//头文件
stack对象的默认构造
stack采用模板类实现, stack对象的默认构造形式:
stack stkT;
复制代码
1
2
3
4stack<int> stkint; stack<float> stkfloat; stack<string> stkstr;
也可以设置指针类型或者自定义的结构体类型。
出栈和入栈操作
复制代码
1
2
3
4
5
6
7
8
9stkint.push(1);//入栈整型1 stkint.pop();//出栈 stkInt.push(1); stkInt.push(2); stkInt.pop(); stkInt.push(3); //此时stkInt存放的元素是1, 3
stack数据存取
复制代码
1
2stkint.top();//返回最后一个入栈的元素
stack的大小
复制代码
1
2
3stkint.empty();//判断堆栈是否为空,若为空返回true stack.size();//返回堆栈的大小
C++中stack
pop(), 返回void,
top(),返回栈顶的引用。
所以想要提取栈顶元素,直接用s.top()
stack没有现成的清空函数(clear),一半采用两种方法进行清空:
1.逐一弹出栈顶元素
复制代码
1
2
3stack<int> intstk; while(!intstk.empty()) intstk.pop();
2.和空栈交换
swap相当于交换了intstk和一个空的临时堆栈的内容,然后临时堆栈再结束生命周期,但由于操作的是堆空间,其实还是一个一个释放空间。该方法的速度要比1快一些。
复制代码
1
2
3stack<int> intstk; stack<int>().swap(intstk);
例题
- 有效的括号(力扣)
最后
以上就是粗暴酒窝最近收集整理的关于stack容器的使用stack容器的全部内容,更多相关stack容器内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复