为了严格遵循堆栈数据后进先出原则,stack不提供元素的任何迭代操作,因此stack容器不会向外部提供可用的前向或反向迭代器类型。
头文件#include<stack>
创建stack对象
- stack()
默认的构造函数,创建一个空的stack对象。
stack<int> s; //使用默认的deque为底层容器,创建一个空的堆栈对象s。
- stack(const stack&)
复制构造函数,用一个stack堆栈创建一个新的堆栈。
元素入栈
stack堆栈容器的元素入栈函数为push函数。c++ STL的堆栈是部预设大小的,从而函数没有标明入栈成功与否的返回值。
void push(const value_type& x)
元素出栈
stack容器的出栈函数为pop函数。由于函数并没有判断堆栈是否非空,才进行元素的弹出,要自行判断堆栈是否非空,才可执行pop函数。
void pop()
该函数并不返回出栈的栈顶元素,一般需先将栈顶元素取出,才执行处栈操作。
while(!s.empty())
{
s.pop(); //出栈
}
取栈顶元素
stack容器的栈顶元素的读取函数为top函数,将取出最后入栈的元素。
value_type& top()
此函数也要先判断堆栈是否为空,取出栈顶元素才有意义。
堆栈的大小及是否为空的判断
- size_type size()
返回当前堆栈的元素个数
- bool empty()
判断堆栈是否为空,为空返回true,反之返回false
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-10 06:57:51