zoukankan      html  css  js  c++  java
  • Algs4-1.4.29两个栈实现的steque

    1.4.29两个栈实现的steque。用两个栈实现一个steque(请见练习1.3.32),使得每个steque操作所需的栈操作均摊后为一个常数。
    答:
    图片

    public class E1d4d29<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 push(Item item)
        {
            s1.push(item);
        }
       
        public Item pop()
        {
            if(s1.isEmpty())
              while(!s2.isEmpty())
                  s1.push(s2.pop());
            //
            Item item=s1.pop();
            return item;
        }
       
        public void enqueue(Item item)
        {
            s1.push(item);
        }
       
        public static void main(String[] args)
        {
            E1d4d29<String> s=new E1d4d29<String>();
            while(!StdIn.isEmpty())
            {
                String item=StdIn.readString();
                s.push(item);
            }
            s.enqueue("a");
            StdOut.printf("Stack is Empty:%s ",s.isEmpty());
            StdOut.printf("Stack size is:%s ",s.size());
            while(!s.isEmpty())
            {
                StdOut.println(s.pop());
            }
        }
           
    }

  • 相关阅读:
    04.Javascript——入门一些方法记录之iterable
    03.Javascript——入门一些方法记录之Map和Set
    02.Javascript——入门一些方法记录之Object
    unity 工具开发基础
    lua热重载
    unity接入安卓sdk (unity调用安卓工程)
    转 Unity企业级支持案例与分析
    ugui的优化
    c#各个版本的特性
    最好用的lua编辑器--------emmylua使用汇总
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854488.html
Copyright © 2011-2022 走看看