数据结构
hungry_bug
这个作者很懒,什么都没留下…
展开
-
java---表、栈和队列
题目3 Josephus问题(Josephus problem)是下面的游戏:N个人编号从1到N,围坐成一个圆圈。从1号开始传递一个热土豆。经过M次传递后拿着热土豆的人被清除离座,围坐的圆周紧缩,由坐在被清除的人后面的人拿起热土豆继续进行游戏。最后剩下的人取胜。因此,如果M=0和N=5,则游戏人依序被消除,5号游戏人获胜。如果M=1和N=5,那么被清除的人的顺序是2,4,1,5。 a. 编原创 2015-11-02 22:25:15 · 487 阅读 · 0 评论 -
java---表、栈和队列
题目2给定两个已排序的表L1和L2,只使用基本的表操作编写计算L1与L2的交运算,L1与L2的并运算。 思路:使用链表的迭代器Iterator,首先获得两个表中的第一个元素,itemL1和itemL2,然后调用comparaTo()方法,进行二者的比较。 如果比较结果compareRusult等于0,将它们其中之一添加到空链表中存储; 如果比较结果compareRusult小于0,因原创 2015-11-02 21:33:04 · 889 阅读 · 0 评论 -
java---表、栈和队列
题目4 (1)假设单链表使用一个头节点实现,但无尾节点,并假设它只保留对该头节点的引用。编写一个类,包含: a. 返回链表大小的方法。 b. 打印链表的方法。 c. 测试值x是否含于链表的方法。 d. 如果值x尚未包含于链表,添加值x到该链表的方法。 e. 如果值x包含于链表,将x从该链表中删除的方法。 (2)保持单链表以排序的顺序重做(1)。分析: (原创 2015-11-04 10:50:51 · 670 阅读 · 0 评论 -
java---表、栈和队列
题目5 1.使用单链表高效实现栈类,不用头节点和尾节点。 2.使用单链表高效实现队列类,不用头节点和尾节点。 3.使用循环数组高效实现队列类。java代码:1.public class SingleStack<AnyType> { //实现栈就是模拟push和pop方法。 private Node<AnyType> head; private class N原创 2015-11-04 18:27:14 · 498 阅读 · 0 评论 -
java集合源码解读---Queu和Stack的数组和链式实现
栈和队列 所谓的栈,是一个含有至少两个基本操作的抽象数据类型:插入新的元素;删除最近时间插入的元素。遵循FILO(First in,last out,先进后出)的原则。 所谓的队列,也是一个含有至少两个基本操作的抽象数据类型:插入新的元素;删除最久时间插入的元素。遵循FIFO(First in,first out,先进先出)的原则。 关于栈和队列的具体实现,我们即可以借助于数组,也可原创 2015-11-04 19:22:54 · 617 阅读 · 0 评论 -
java---用两个栈实现队列&&用两个队列实现栈
(1)用两个栈实现队列 Java代码public class QueueImplementByTwoStacks<E> { private Stack<E> stack1;//专门用来入队 private Stack<E> stack2;//专门用来出队 //队列初始化 QueueImplementByTwoStacks() { stack原创 2015-11-06 11:03:59 · 615 阅读 · 0 评论 -
java---表、栈和队列
题目1 给定一个表L和另一个表P,它们包含以升序排列的整数。操作printLots(L,p)将打印L中的那些由P所指定的元素。例如,如果P=1,3,4,6,那么,L中位于第1,第3,第4,和第6个位置上的元素被打印出来。写出过程printLots(L,p)。 思路:使用public型的Collection API 容器操作。这里写代码片public static void<An原创 2015-11-02 20:17:34 · 1119 阅读 · 0 评论