zoukankan      html  css  js  c++  java
  • Algs4-1.3不定容泛型栈(不可迭代)

     public class FixedCapacityStack<Item>
    {
        private Item[] a;
        private int N;
        public FixedCapacityStack(int cap)
        {a=(Item[]) new Object[cap];}
       
        public void push(Item item)
        {
            if(N==a.length) resize(2*a.length);
            a[N++]=item;
        }
       
        public Item pop()
        {
            Item item= a[--N];
            a[N]=null;
            if(N>0 && N==a.length/4)  resize(a.length/2);
            return item;
        }
       
        public boolean isEmpty()
        {return N==0;}
       
        public int size()
        {return N;}
       
        private void resize(int max)
        {
            Item[] temp=(Item[]) new Object[max];
            for(int i=0;i<N;i++)
                 temp[i]=a[i];
            a=temp;
        }
       
       
        public static void main(String[] args)
        {
            FixedCapacityStack<String> s;
            s=new FixedCapacityStack<String>(Integer.parseInt(args[0]));
            while(!StdIn.isEmpty())
            {
                String item=StdIn.readString();
                if(!item.equals("-"))
                    s.push(item);
                else if (!s.isEmpty())
                    StdOut.printf(s.pop()+" ");
            }//end while
            StdOut.println("("+s.size()+" left on stack)");
        }//end main
    }//end class

  • 相关阅读:
    聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer[转]
    java的war包和jar包的区别
    shell编程中的表达式(-d, -f, -L 等)
    nginx 403 forbidden
    docker删除镜像
    TCP的拥塞控制
    文件从暂存区撤销
    charles修改返回结果的4种方法
    LED 正负极区分
    病毒传播模拟游戏制作日志(三)
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9849257.html
Copyright © 2011-2022 走看看