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

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

 

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

       stack s1;

      stack 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 q1;

         queue q2;

(2)queue 的基本操作有:

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

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

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

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

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

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

你可能感兴趣的:(C++,leetcode,leetcode,算法,数据结构,c++)