上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 35 下一页
摘要: 1.3.38删除第k个元素。实现一个类并支持表1.3.12中的API:表1.3.12泛型一般队列的APIpublic class GeneralizedQueue<Item> GeneralizedQueue()//创建一条空队列 boolean isEmpty()//队列是否为空 void ins 阅读全文
posted @ 2018-10-26 08:40 修电脑的龙生 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1.3.36随机迭代器。为上一题中的RandomQueue<Item>编写一个迭代器,随机返回队列中的所有元素。答:import java.util.Iterator;public class RandomQueue<Item> implements Iterable<Item>{ private 阅读全文
posted @ 2018-10-26 08:39 修电脑的龙生 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1.3.37Josephus问题。在这个古老的问题中,N个身陷绝境的人一致同意通过以下方式减少生存人数。他们围坐成一圈(位置记为0到N-1)并从第一个人开始报数,报到M的人会被杀死,直到最后一个人留下来。传说中Josephus找到了不会被杀死的位置。编写一个Queue的用例Josephus,从命令行 阅读全文
posted @ 2018-10-26 08:39 修电脑的龙生 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1.3.35随机队列。随机队列能够存储一组元素并支持表1.3.11中的API:表1.3.11泛型随机队列的APIpublic class RandomQueue<Item> RandomQueue()//创建一条空的随机队列 boolean isEmpty()//队列是否为空 void enqueu 阅读全文
posted @ 2018-10-26 08:38 修电脑的龙生 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 1.3.33Deque。一个双向队列(或者称为deque)和栈或队列类似,但它同时支持在两端添加或删除元素。Deque能够存储一组元素并支持表1.3.9中的API:表1.3.9泛型双向队列的APIpublic class Deque<Item> implements Iterable<Item> D 阅读全文
posted @ 2018-10-26 08:37 修电脑的龙生 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1.3.34随机背包。随机背包能够存储一组元素并支持表1.3.10中的API:表1.3.10泛型随机背包的APIpublic class RandomBag<Item> implements Iterable<Item> RandomBag()//创建一个空随机背包 boolean isEmpty( 阅读全文
posted @ 2018-10-26 08:37 修电脑的龙生 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1.3.33Deque。一个双向队列(或者称为deque)和栈或队列类似,但它同时支持在两端添加或删除元素。Deque能够存储一组元素并支持表1.3.9中的API:表1.3.9泛型双向队列的APIpublic class Deque<Item> implements Iterable<Item> D 阅读全文
posted @ 2018-10-26 08:36 修电脑的龙生 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 1.3.32Steque。一个以栈为目标的队列(或称为steque),是一种支持push、pop、和enqueue操作的数据类型。为这种抽象数据类型定义一份API并给出一份基于链表的实现。import java.util.Iterator;public class Steque<Item> impl 阅读全文
posted @ 2018-10-26 08:35 修电脑的龙生 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 1.3.31实现一个嵌套类DoubleNode用来构造双向链表,其中每个结点都含有一个指向前驱元素的引用和一项指向后续元素引用(如果不存在则为null)。为以下任务实现若干静态方法:在表头插入结点、在表尾插入结点、从表头删除结点、从表尾删除结点、在指定结点之前插入新结点、在指定的结点之后插入新结点、 阅读全文
posted @ 2018-10-26 08:34 修电脑的龙生 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 1.3.30编写一个函数,接受一条链表的首结点作为参数,(破坏性地)将链表反转并返回结果链表的首结点。迭代方式的解答:为了完成这个任务,我们需要记录链表中三个连续的结点:reverse、first和second。在每轮迭代中,我们从原链表中提取结点first并将它插入到逆链表的开头。我们需要一直保持 阅读全文
posted @ 2018-10-25 14:25 修电脑的龙生 阅读(202) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 35 下一页