• Algs4-1.3.4X栈与队列-两个栈实现一个队列均摊O(1)


    图片
     public class QueueWithTwoStack<Item>
    {
        Stack<Item> s1=new Stack<Item>();
        Stack<Item> s2=new Stack<Item>();
       
        public boolean isEmpty()
        {
            return s1.isEmpty() && s2.isEmpty();
        }
       
        public int size()
        {
            return s1.size()+s2.size();
        }
       
        public void enqueue(Item item)
        {
            s1.push(item);
        }
       
        public Item dequeue()
        {
            if(s2.isEmpty())
            {
                while(!s1.isEmpty())
                  s2.push(s1.pop());
            }
            //
            return s2.pop();
        }
       
       public static void main(String[] args)
       {
           QueueWithTwoStack<String> q=new QueueWithTwoStack<String>();
           q.enqueue("1");
           q.enqueue("2");
           q.enqueue("3");
           //
           StdOut.print(q.dequeue()+ " ");
           //
           q.enqueue("4");
           StdOut.print(q.dequeue()+ " ");
           //
           q.enqueue("5");
           q.enqueue("6");
           //
           while(!q.isEmpty())
              StdOut.print(q.dequeue()+ " ");
       }
    }
  • 相关阅读:
    类定义(课下选做)
    结对项目第一周
    迭代和JDB
    JAVA 第五周学习总结
    JAVA 第四周学习总结
    JAVA 第三周学习总结
    springcloud-provider-consumer-register
    springcloud-eureka
    springBoot-打包
    spring-Scheduler
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854350.html
Copyright © 2020-2023  润新知