博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Algs4-1.4.28一个队列实现的栈
阅读量:7199 次
发布时间:2019-06-29

本文共 838 字,大约阅读时间需要 2 分钟。

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\n",s.isEmpty());
        StdOut.printf("Stack size is:%s\n",s.size());
        StdOut.printf("Stack top element is:%s\n",s.pop());
        StdOut.printf("Stack top element is:%s",s.pop());
    }
       
}

转载于:https://www.cnblogs.com/longjin2018/p/9854485.html

你可能感兴趣的文章
Liunx目录结构
查看>>
配置iSCSI存储多路径
查看>>
我的友情链接
查看>>
iptables_原理理解_DNAT&SNAT实践应用
查看>>
VMware VSphere 虚拟化&云计算学习配置笔记(八)
查看>>
1.8-默认虚拟主机
查看>>
hibernate Unknown entity异常解决方案
查看>>
Java 动态代理
查看>>
LNMP-Nginx高级配置(三)
查看>>
重回上海之感想
查看>>
navicat cannot create oci environment
查看>>
解决双击不能运行jar文件的问题
查看>>
2017年投资回顾
查看>>
Hadoop 安装部署实践
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
OpenStack —— 计算服务Nova(四)
查看>>
我的友情链接
查看>>
Nagios监控和飞信机器人结合
查看>>
为redis分配一个新的端口
查看>>