算法-第四版-练习1.3.2解答
来源:互联网 发布:微信商城源码使用 编辑:程序博客网 时间:2024/06/09 22:54
给定以下输入,java Stack的输出是什么?
it was - the best - of times - - - it was - the - -
Stack:
/** * Description : * Author : mn@furzoom.com * Date : Sep 27, 2016 5:07:34 PM * Copyright (c) 2013-2016, http://furzoom.com All Rights Reserved. */package com.furzoom.lab.algs.ch103;import java.util.Iterator;import edu.princeton.cs.algs4.StdIn;import edu.princeton.cs.algs4.StdOut;/** * ClassName : Stack <br> * Function : TODO ADD FUNCTION. <br> * date : Sep 27, 2016 5:07:34 PM <br> * * @version */public class Stack<Item> implements Iterable<Item>{ private Node first; private int n; private class Node { Item item; Node next; } public boolean isEmpty() { return first == null; } public int size() { return n; } public void push(Item item) { Node oldfirst = first; first = new Node(); first.item = item; first.next = oldfirst; n++; } public Item pop() { Item item = first.item; first = first.next; n--; return item; } @Override public Iterator<Item> iterator() { return new ReverseArrayIterator(); } private class ReverseArrayIterator implements Iterator<Item> { private Node p = first; @Override public boolean hasNext() { return p != null; } @Override public Item next() { Item item = p.item; p = p.next; return item; } } public static void main(String[] args) { Stack<String> s; s = new Stack<String>(); while (!StdIn.isEmpty()) { String item = StdIn.readString(); if (!item.equals("-")) s.push(item); else if (!s.isEmpty()) StdOut.print(s.pop() + " "); } StdOut.println("(" + s.size() + " left on stack)"); }}
E10302.txt
it was - the best - of times - - - it was - the - -
结果如下:
>java -cp ".;../lib/algs4.jar" com.furzoom.lab.algs.ch103.Stack < com/furzoom/lab/algs/ch103/E10302.txtwas best times of the was the it (1 left on stack)
算法-第四版-1.3 背包、队列和栈-习题索引汇总
算法-第四版习题索引汇总
0 0
- 算法-第四版-练习1.3.2解答
- 算法-第四版-练习1.3.1解答
- 算法-第四版-练习1.3.3解答
- 算法-第四版-练习1.3.4解答
- 算法-第四版-练习1.3.5解答
- 算法-第四版-练习1.3.6解答
- 算法-第四版-练习1.3.7解答
- 算法-第四版-练习1.3.8解答
- 算法-第四版-练习1.3.9解答
- 算法-第四版-练习1.3.10解答
- 算法-第四版-练习1.3.11解答
- 算法-第四版-练习1.3.12解答
- 算法-第四版-练习1.3.13解答
- 算法-第四版-练习1.3.14解答
- 算法-第四版-练习1.3.15解答
- 算法-第四版-练习1.3.16解答
- 算法-第四版-练习1.3.17解答
- 算法-第四版-练习1.3.18解答
- Node.js 安装配置
- No mapping found for HTTP request with URI
- git开个分支提交到远程
- Unity3D逐像素漫反射着色器代码
- iOS 开发商品详情页中的banner中点击查看图片
- 算法-第四版-练习1.3.2解答
- 利用redis来实现身份验证的一种方法,类似session机制
- ORA-02266: 表中的唯一/主键被启用的外键引用
- Node.js 创建第一个应用
- Elastic-Job作业分片策略
- viewpager 3D旋转 几行代码轻松搞定
- [数据结构]第二章-表
- 编程之美2.18 数组分割
- Maximum Likelihood,ML