zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    题目描述

    用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
     
    分析:
    因为栈是后进先出的数据结构,当将数据依次压入第一个栈后,再依次从这个栈弹出,压入第二个栈,如果此时从第二个栈中获取数据,表现正好像一个 “先进先出” 的队列数据结构。入栈和入队的操作是一样的,不需要改变。但是出栈和出队列是不一样的,可以用第二个栈来实现出栈操作,当第二个栈中有元素时,直接进行出栈操作,没有元素时,则从第一个栈中队头依次取出元素,然后入栈。
    class Solution
    {
    public:
        void push(int node) {
            stack1.push(node);
        }
    
        int pop() {
            if(stack2.empty()){
                while(!stack1.empty()){
                int temp = stack1.top();
                stack2.push(temp);
                stack1.pop();
            }
            }
            int res = stack2.top();
            stack2.pop();
            return res;
            
        }
        
    private:
        stack<int> stack1;
        stack<int> stack2;
    };
    

      

     
  • 相关阅读:
    Codeforces758C
    Codeforces758B
    CodeForces758A
    数据库实习
    数据结构实习-迷宫(基于Qt实现)
    CodeForces757B
    CodeForces757A
    HDU3790
    数据结构实习
    Codeforces374B
  • 原文地址:https://www.cnblogs.com/libai123456/p/12099162.html
Copyright © 2011-2022 走看看