zoukankan      html  css  js  c++  java
  • 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。C++实现

    class Solution
    {
    private:
    stack<int> stack1;
    stack<int> stack2;
    public:
    void push(int node) {
    stack1.push(node);
    }
    int pop() {
    int re=stack2.top();
    if(!stack2.empty()){
    re=stack2.top();
    stack2.pop();
    return re;
    }else{
    while(!stack1.empty()){
    re=stack1.top();
    stack1.pop();
    stack2.push(re);
    }
    if(!stack2.empty()){
    re=stack2.top();
    stack2.pop();
    }
    }
    return re;
    }
    };

    这个代码是我借鉴的网站上面的java的代码实现。思路是两个栈来实现一个队列。栈是先进后出。队列是先进先出。所以。利用两个栈来实现一个队列。就是先将元素存储到一个栈中,然后再将这个栈中的元素弹出来。再压栈到第二个栈中。然后再将元素弹出来。就是相当于是一个队列的功能了。

  • 相关阅读:
    注意身体
    用生命去战斗
    来到华师,一切清零
    linux fork()函数 转载~~~~
    小端大端
    位域
    内存泄漏(memory leak)和内存溢出
    stack,heap的区别
    内存管理简便复习总结
    虚函数&&虚继承
  • 原文地址:https://www.cnblogs.com/littleswan/p/11308994.html
Copyright © 2011-2022 走看看