java实现双向链表操作
来源:互联网 发布:linux网卡怎么激活 编辑:程序博客网 时间:2024/06/05 18:32
跟单向一个路子,没啥可说的,直接上代码:
public class DoubleLink { public Node first; public Node last; class Node { int data; Node lnext; Node rnext; public Node(int data) { this.data = data; this.lnext = null; this.rnext = null; } } public boolean isEmpty() { return first==null; } public void print() { Node current = first; while (current != null) { System.out.println(current.data); current = current.rnext; } } public void insert(Node newNode) { Node node; Node tmp = null; if(isEmpty()) { first = newNode; first.rnext = last; last = newNode; last.lnext = first; } else { //插入表头 if(newNode.lnext == null) { first.lnext = newNode; newNode.rnext = first; first = newNode; } else { //插入表尾 if(newNode.rnext == null) { last.rnext = newNode; newNode.lnext = last; last = newNode; } else { node = first; while (newNode.rnext != node.rnext) { tmp = node; node = node.rnext; } tmp.rnext = newNode; newNode.rnext = node; node.lnext = newNode; newNode.lnext = tmp; } } } } public void delete(Node delNode) { Node node; Node tmp; if(isEmpty()) { return; } if(delNode == null) { return; } if(first.data == delNode.data) { first = first.rnext; first.lnext = null; } else { tmp = first; node = first; while (node.data != delNode.data) { tmp = node; node = node.rnext; } tmp.rnext = delNode.rnext; tmp.lnext = delNode.lnext; } } public static void main(String[] args) { DoubleLink dl = new DoubleLink(); Node node1 = dl.new Node(80); Node node2 = dl.new Node(90); dl.insert(node1); dl.insert(node2); dl.print(); System.out.println("删除之后——"); dl.delete(node2); dl.print(); }}
0 0
- java实现双向链表的操作
- java实现双向链表操作
- Java实现双向链表的基本操作
- java 操作双向链表
- java 操作双向链表
- JAVA实现双向链表
- JAVA实现双向链表
- Java实现双向链表
- JAVA实现双向链表
- JAVA实现双向链表
- JAVA实现双向链表
- 【java】双向链表实现
- Java双向链表实现
- 双向链表 --java实现
- JAVA实现双向链表
- JAVA实现双向链表
- Java实现双向链表
- java实现双向链表
- 安卓底层开发学习经验第十九期
- 自动类型转换、强制类型转换、作用域、整型表数范围
- 51nod 1201 整数划分
- Invalid signature file digest for Manifest main attributes
- 第三方SDK之——百度地图
- java实现双向链表操作
- Github创建仓库上传代码
- License for Pycharm Professional Edition
- 学习SLAM需要哪些预备知识?
- Hive 2. 本地模式,分布式配置
- 野指针
- IOS学习(十)UITabViewCell的创建方式
- ODS系统基于存储过程实现数据清洗实例
- metasploit MS09_050