数据结构与算法分析(Java)
深成
dzw
展开
-
Java实现 双链表
双链表较之单链表多了前趋和后继,但是tail.next都为null 节点类:public class DNode { String name; DNode prev; DNode next; public DNode(String name, DNode prev, DNode next) { this.name = name; this原创 2017-05-10 17:52:31 · 310 阅读 · 0 评论 -
Java实现 循环链表
循环链表和单向链表的不同之处在于 : 单向链表tail.next指向null; 而循环链表tail.next指向head; 循环链表类:public class CLink { public Node head; public CLink() { this.head = new Node(); head.next = head; }原创 2017-05-10 15:30:01 · 396 阅读 · 0 评论 -
Java实现 单链表
链表的循环很重要,基本贯穿所有操作。 1、链表的移动 2、链表尾部特征 单链表类:public class Link { public Node head; public Link() { head = new Node(); } /** * 增加节点 * @param name */ public voi原创 2017-05-10 15:25:26 · 447 阅读 · 0 评论 -
Java实现 双链表互换任意两个节点
1、确定两个节点的先后顺序 2、next、prev互相交换顺序以及将换向前方的节点与之前的节点对接。(1.prev.next = 2) 3、判断是否相邻 链表类:public class SLink { public SNode head; public SLink() { this.head = new SNode(); } pub原创 2017-05-11 16:29:21 · 1509 阅读 · 0 评论 -
Java实现 数组实现队列
数组实现队列有两个缺点 1、会出现”假溢出” 2、低位空间无法重复利用(出队之后的空间) 队列队尾进 队首出 FIFO(First In First Out)数组队列类:public class QueueArrays { /** * 队尾插入 * 队首取出 */ public int front = -1,real = -1; pu原创 2017-05-12 14:35:26 · 1114 阅读 · 1 评论 -
Java实现 链表实现队列
链表实现队列类:public class QueueLink { public Node head; private int size = 0; public QueueLink() { head = new Node(); } public void inQueue(String name) { Node q = head;原创 2017-05-12 14:38:39 · 474 阅读 · 0 评论 -
Java实现 数组实现循环队列
public class CQueue { /** * 1、循环队列需要将 strings[size - 1] 与 strings[0] 连接起来。 * 2、队首 前 需要空出一个位置作为标识位,所以队首队尾初始值为1,统一对待,以免其他操作发生混乱 * 3、入队操作队尾,出队操作队首,互不相干 */ public int size = 11;原创 2017-05-12 18:27:20 · 535 阅读 · 0 评论