leetcode刷题——遍历二叉树的迭代法所用的栈知识

1、C++中栈(stack)的使用

 

(1) 定义stack 对象的示例代码如下:

       stack<int> s1;

      stack<string> s2;

(2)  stack 的基本操作有:

      a) 入栈,如例:s.push();在栈顶增加元素

      b) 出栈,如例:s.pop();注意,出栈操作只是删除栈顶元素,并不返回该元素。

      c) 访问栈顶,如例:s.top()

      d) 判断栈空,如例:s.empty(),当栈空时,返回true。

      e) 访问栈中的元素个数,如例:s.size()

2、push与push_back

      push与push_back是STL中常见的方法,都是向数据结构中添加元素。 push对应stack与queue,push_back对应vector。

(1)push 方法

    stack::push();//在栈顶增加元素

(2)push_back 方法

    vector::void push_back (const value_type& val);

    vector::void push_back (value_type&& val);

    该函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素,新的元素 的值是val的拷贝(或者是移动拷贝)
 

3、queue

(1)定义queue 对象的示例代码如下:

         queue<int> q1;

         queue<double> q2;

(2)queue 的基本操作有:

        a)  入队,如例:q.push(x); 将x 接到队列的末端。

        b)  出队,如例:q.pop(); 弹出队列的第一个元素,注意,并不会返回被弹出元素的值。

        c)  访问队首元素,如例:q.front(),即最早被压入队列的元素。

        d)  访问队尾元素,如例:q.back(),即最后被压入队列的元素。

        e)  判断队列空,如例:q.empty(),当队列空时,返回true。

        f)   访问队列中的元素个数,如例:q.size()
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值