zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    初探 Linux
    操作系统简介
    1208. 尽可能使字符串相等
    643. 子数组最大平均数 I
    480. 滑动窗口中位数
    Bisect in Python
    HTTP 和 HTTPS 的区别
    URI和URL的区别
    HTTP 1.0和HTTP 1.1的主要区别是什么?
    MySQL游标的使用笔记大全
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7205368.html
Copyright © 2011-2022 走看看