C++常用标准模板库——6
作者:
就是要AC
,
2021-04-30 09:39:31
,
所有人可见
,
阅读 4479
stack
Stack翻译为栈,是STL中实现一个后进先出的容器。
Stack的定义,stack<typename> name要使用stack需要加上头文件#include<stack>。
Stack容器内元素的访问,由于栈本身就是一种后进先出的数据结构,在STL的stack中只能通过top()来访问栈顶元素。
stack<int> s ;
s.push(3) ;
s.push(1) ;
s.push(2) ;
s.push(5) ;
s.push(4) ;
cout << s.top() << endl ;
输出结果:4
Stack常用函数
(1) push(x),将x压入栈中,时间复杂度O(1)
(2) top(),获得栈顶元素,时间复杂度O(1)
(3) pop(),将栈顶元素弹出,时间复杂度O(1)
stack<int> s ;
s.push(3) ;
s.push(1) ;
s.push(2) ;
s.push(5) ;
s.push(4) ;
cout << s.top() << endl ;
s.pop() ;
cout << s.top() << endl ;
输出结果:4
5
(4) empty()判断栈是否为空,若为空,返回true,否则返回false,时间复杂度O(1)
(5) size()返回栈中元素的个数,时间复杂度O(1)
stack<int> s ;
s.push(3) ;
s.push(1) ;
s.push(2) ;
s.push(5) ;
s.push(4) ;
if(!s.empty()){
cout << "栈的大小:" << s.size() << endl ;
}
输出结果:栈的大小:5
Stack的常见用途,stack用来模拟实现一些递归,防止程序对栈内存的限制而导致程序运行出错。