Java实现 循环链表
来源:互联网 发布:淘宝ccr手表怎么样 编辑:程序博客网 时间:2024/06/06 13:08
循环链表和单向链表的不同之处在于 :
单向链表tail.next指向null;
而循环链表tail.next指向head;
循环链表类:
public class CLink { public Node head; public CLink() { this.head = new Node(); head.next = head; } public void andNode(String name) { /** * 创建需要and的节点 */ Node and = new Node(name,null); Node p; if(head.next == head) { //空表 and.next = head; head.next = and; }else { p = head; //首节点 while (p.next != head) {//向下遍历 p = p.next; } and.next = p.next; p.next = and; } } public boolean delNode(String name) { Node p = head; while (p.next != head) { if(p.next.name.equals(name)) { p.next = p.next.next; return true; }else { p = p.next; } } return false; } /** * data 之前插入节点 * @param data * @param name * @return */ public boolean insertNode(String data,String name) { Node p = head; Node insertNode = new Node(name, null); while (p.next != head) { if(p.next.name.equals(data)) { insertNode.next = p.next; p.next = insertNode; return true; } p = p.next; } return false; } public int size() { Node p = head; int size = 0; while (p.next != head) { p = p.next; size ++; } return size; } public void display() { Node p = head; while (p.next != head) { p = p.next; System.out.println(p.name); } }}
节点类:
public class Node { public String name; public Node next; public Node(String name, Node next) { this.name = name; this.next = next; } public Node() { this.next = null; }}
测试代码:
CLink cLink = new CLink(); cLink.andNode("1"); cLink.andNode("2"); cLink.andNode("3"); cLink.display(); System.out.println("-------------------------"); cLink.delNode("2"); cLink.display(); System.out.println("-------------------------"); System.out.println("size : " + cLink.size()); cLink.insertNode("3","2"); cLink.display();
0 0
- JAVA实现循环链表
- java实现循环链表
- java实现循环链表
- Java实现循环链表
- java实现循环链表
- Java实现 循环链表
- 循环链表(java实现)
- Java循环链表实现约瑟夫环
- Java循环链表实现约瑟夫环
- 用java实现循环链表
- 双向循环链表--java实现
- java实现双向循环链表
- Java循环链表实现约瑟夫环
- 约瑟夫环 java循环链表实现
- 循环链表判断(Java实现)
- Java数组实现循环队列、Java链表实现队列
- 循环链表实现循环队列
- 数据结构Java实现 ----循环链表、仿真链表
- java线程之yield(),sleep(),wait()区别详解
- 如何处理asp.net的webapi项目的测试环境与生产环境的help页面可见/不可见问题。
- mysql/Java服务端对emoji的支持
- 22个所见即所得在线 Web 编辑器
- js变量
- Java实现 循环链表
- linux ubuntu下vsftp搭建,tar安装包模式
- windows2003 IIS6 部署MVC4程序等等
- Bitmap回收异常:trying to use a recycled bitmap android.graphics.Bitmap问题解决
- EasyUI的datagrid自定义view
- 前端开发插件全套汇总,未删减版仅这一次分享
- rgba()兼容的解决办法
- java中构造方法和this,static关键字
- (0046) iOS开发之View的frame和bounds之解惑