一、头文件
# include<stack>
二、定义
堆栈是一个线性表,插入和删除只在表的一端进行。这一端称为栈顶,另一端称为栈底。堆栈的元素插入称为入栈,元素的删除则为出栈。
堆栈是一个后进先出表。
三、用法
(1)创建一个空的stack对象
stack<int> s;
(2)元素入栈
void push(const value_type& x)
在栈顶添加元素
由于c++ STL的堆栈函数是不预设大小的。因此,入栈函数就不考虑堆栈空间是否为满,均将元素压入堆栈,从而函数没有标明入栈成功与否的返回值。
(3)元素出栈
void pop()
在栈的顶部移除元素
例子:将堆栈的所有元素全部出栈
// stack<int> s;
while(!s.empty())
{
s.pop(); //出栈
}
size_type size() const;
(5)判断堆栈是否为空
bool empty()
返回 true 表示堆栈已空, false表示堆栈非空。
(6)返回栈顶元素
value_type& top();
const value_type& top() const;