zoukankan      html  css  js  c++  java
  • Algs4-1.4.28一个队列实现的栈

    1.4.28一个队列实现的栈。使用一个队列实现一个栈,使得每个栈操作所需的队列操作数量为线性级别。提示:要删除一个元素,将队列中的所有元素一一出列,除了最后一个元素,应该将它删除并返回(这种方法的确非常低效)。
    答:
    图片
    public class E1d4d28<Item>
    {
        Queue<Item> q=new Queue<Item>();
        public boolean isEmpty()
        {
            return q.isEmpty();
        }
       
        public int size()
        {
            return q.size();
        }
       
        public void push(Item item)
        {
            q.enqueue(item);
        }
       
        public Item pop()
        {
            int N=q.size();
            while(N>1)
            {
                q.enqueue(q.dequeue());
                N--;
            }
            Item item=q.dequeue();
            return item;
        }
       
        public static void main(String[] args)
        {
            E1d4d28<String> s=new E1d4d28<String>();
            while(!StdIn.isEmpty())
            {
                String item=StdIn.readString();
                s.push(item);
            }
            StdOut.printf("Stack is Empty:%s ",s.isEmpty());
            StdOut.printf("Stack size is:%s ",s.size());
            StdOut.printf("Stack top element is:%s ",s.pop());
            StdOut.printf("Stack top element is:%s",s.pop());
        }
           
    }

  • 相关阅读:
    SQL 基础题。
    C# 多维数组.
    C# 泛型相关.
    C# 委托数组.
    ActiveX的数字签名
    Asp.Net Html标记替换.感谢个热心人。弄了好久.
    关于TableLayoutPanel里放入控件无法将Dock设为Fill的解决办法
    服务器×××上的MSDTC不可用解决办法
    vista home下运行asp.net2.0 程序环境配置
    麦克风的调节
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854485.html
Copyright © 2011-2022 走看看