zoukankan      html  css  js  c++  java
  • Algs4-1.3.48双向队列与栈

    1.3.48双向队列与栈。用一个双向队列实现两个栈,保证每个栈操作只需要常数次的双向队列操作(请见练习1.3.33)。
    答:
    图片
    public class StackDouble<Item>
    {
        private Deque<Item> q=new Deque<Item>();
        ///////////Stack of Left
        private int NLeft=0;
        public boolean isEmptyLeft()
        {return NLeft==0;}
       
        public int sizeLeft()
        {return NLeft;}
       
        public void pushLeft(Item item)
        {
            q.pushLeft(item);
            NLeft++;
        }
       
        public Item popLeft()
        {
           if (NLeft==0) return null;
            Item item=q.popLeft();
            NLeft--;
            return item;
        }
        ///////////Stack of Right
        private int NRight=0;
        public boolean isEmptyRight()
        {return NRight==0;}
       
        public int sizeRight()
        {return NRight;}
       
        public void pushRight(Item item)
        {
            q.pushRight(item);
            NRight++;
        }
       
        public Item popRight()
        {
            if(NRight==0) return null;
            Item item=q.popRight();
            NRight--;
            return item;
        }
       
        public static void main(String[] args)
        {
            StackDouble<String> s=new StackDouble<String>();
            s.pushLeft("1");
            s.pushLeft("2");
            s.pushLeft("3");
            //
            s.pushRight("4");
            s.pushRight("5");
            s.pushRight("6");
            StdOut.println("Stack of Left size is:"+s.sizeLeft());
            StdOut.println("Stack of Right size is:"+s.sizeRight());
            //
            StdOut.println("Stack of Left element is:");
            for(int i=0;i<7;i++)
                StdOut.print(s.popLeft()+" ");
            //
            StdOut.println();
            StdOut.println("Stack of Right element is:");
            for(int i=0;i<7;i++)
                StdOut.print(s.popRight()+ " ");
        }
    }
  • 相关阅读:
    查询job的几个语句
    fdisk与parted分区
    升级时针对Source oracle home 不存在解决办法
    oracle常用视图v$mystat v$sesstat v$sysstat v$statname v$thread v$ parameter v$session v$process
    x$ksppi与x$ksppcv查询隐藏参数
    查询表空间及已使用情況的SQL语句
    通过系统进程查找sql语句
    RAC日常维护命令
    创建ASM实例及ASM数据库(转载)
    安装数据库软件,节点未显示
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854347.html
Copyright © 2011-2022 走看看