用两个栈来实现一个队列

Posted cgy1012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用两个栈来实现一个队列相关的知识,希望对你有一定的参考价值。

1.

 

class Solution

public:
    void push(int node) 
    stack1.push(node);    
    

    int pop() //删除队列前面元素
       int result;
        if(stack2.empty())//栈可以这样看空不    size不好
        
         while(!stack1.empty())
         
           int cc= stack1.top();
           stack2.push(cc);
           stack1.pop();     
         
         

       result = stack2.top();
       stack2.pop();  
       return result;

    

private:
    stack<int> stack1;
    stack<int> stack2;
;

讲解:                                                                                         

技术图片

 

 技术图片

 

技术图片

 

以上是关于用两个栈来实现一个队列的主要内容,如果未能解决你的问题,请参考以下文章

用两个栈来实现一个队列,完成队列的Push和Pop操作。

面试题9-用两个栈来实现一个队列,完成队列的Push和Pop操作

算法:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。《剑指offer》

用两个栈来实现一个队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。