stl之stack容器

为了严格遵循堆栈数据后进先出原则,stack不提供元素的任何迭代操作,因此stack容器不会向外部提供可用的前向或反向迭代器类型。
头文件#include<stack>


创建stack对象

  1. stack()
    默认的构造函数,创建一个空的stack对象。
    stack<int> s; //使用默认的deque为底层容器,创建一个空的堆栈对象s。
  2. 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()
此函数也要先判断堆栈是否为空,取出栈顶元素才有意义。


堆栈的大小及是否为空的判断

  1. size_type size()
    返回当前堆栈的元素个数
  2. bool empty()
    判断堆栈是否为空,为空返回true,反之返回false

转载请注明出处:http://blog.csdn.net/lsh_2013/article/details/46839993

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值