java数据结构(循环链表)
来源:互联网 发布:医疗美容行业数据 编辑:程序博客网 时间:2024/05/09 18:57
本节是循环链表(所谓循环链表,就是一个环,尾巴接着头,所以最后一个结点的下一个节点是头结点,其遍历时判断下一个结点是不是头节点即可),参照单链表进行修改
http://blog.csdn.net/devenzero/article/details/52049786
public class loopLinkList { Node head; Node current; int size; loopLinkList(){ head = current =new Node(null); head.next = head; size =0; } public Object getElem(int i){ Node p = head; int j = 1; while (j<i+1) { p = p.next; ++j; //System.out.println(p.element); } if(p==null||j>i+1) return null; return p.element; } public boolean insert(int i ,Object e){ Node p = head; int j = 1; while (j<i) { p = p.next; ++j; } if(p==null||j>i) return false; Node s = new Node(null); s.element = e; s.next = p.next; p.next = s; size++; return true; } public boolean delete(int i ){ Node p = head; int j = 1; while (j<i) { p = p.next; ++j; } if(p==null||j>i) return false; p.next = p.next.next; size--; return true; } public void showall(){ Node p = head; while (!(p.next.equals(head))) { p = p.next; System.out.print(p.element+" "); } System.out.println(); }}
这里遇到的 一个问题是空指针
loopLinkList(){ head = current =new Node(null); head.next = head; size =0; }
这一段代码本来是这样子的
loopLinkList(){ head = current =new Node(head); size =0; }
因head结点未声明,故遍历时报错,改完之后方正确运行
1 0
- java数据结构(循环链表)
- 数据结构 循环链表
- 数据结构-循环链表
- 数据结构----循环链表
- 数据结构--循环链表
- 【数据结构】循环链表
- 数据结构-循环链表
- 数据结构-循环链表
- 数据结构--循环链表
- 数据结构-循环链表
- 数据结构 循环链表
- 数据结构-循环链表
- 数据结构--循环链表
- 【数据结构】实现循环链表(c++)
- 数据结构(16)循环链表
- 数据结构(18)双向循环链表
- 数据结构-循环链表(学习笔记)
- 数据结构Java实现 ----循环链表、仿真链表
- java实现求两个数的最大公约数
- C# 委托和事件
- python开发技巧---基于python3实现
- HDU 1527 取石子游戏(威佐夫博弈)
- windows下搭建基于ssh的git服务器
- java数据结构(循环链表)
- BD___PV操作
- c++对象内存模型分析工具
- UNIX/LINUX C总结
- 【51nod 1135 原根】
- HTML5之本地存储
- 分享一篇Android自定义Toast的文章——很简单哦
- 嵌入式之SD设置
- 红黑树