首页
Java面试
PHP面试
经验笔记
在线工具
首页
在线工具
Java实现双向链表
Java实现双向链表例子
C语言 在线运行
C++ 在线运行
Java 在线运行
PHP 在线运行
Python 在线运行
Python3 在线运行
Nodejs 在线运行
Ruby 在线运行
Perl 在线运行
Go 在线运行
R语言 在线运行
Lua 在线运行
C# 在线运行
结果显示HTML
清空
点击运行
/** * Java实现双向链表 */ class LinkedList{ private Node head = new Node(0); //头部节点 private static class Node{ Integer data;//data Node prev ;//前驱 Node next;//后置 public Node(Integer data) { this.data = data; } } /** * show */ public void show(){ Node temp = head; while (true) { if (temp.next == null) { break; } System.out.println(temp.next.data); temp = temp.next; } } /** * 添加元素 * @param data */ public void add(Integer data){ Node node = new Node(data); Node temp = this.head; while(true){ if(temp.next == null){ break; } //找到链表的尾部 temp = temp.next; } temp.next = node; node.prev = temp; } /** * 删除元素 * @param data */ public void del(Integer data){ Node temp = this.head; while(true){ //向下继续找 temp = temp.next; if (head.next == null) { System.out.println("空链表"); break; } if (null == temp) { System.out.println("节点不存在"); } //找当相等的元素 if(temp.data == data){ //当前节点的前驱指向当前节点的后置 temp.prev.next = temp.next; temp.next.prev = temp.prev; break; } } } } public class HelloWorld{ public static void main(String args[]){ LinkedList list = new LinkedList(); list.add(1); list.add(2); list.add(3); list.del(2); list.show(); } }
运行结果
Java实现双向链表例子在线测试,这是一个简单方便的Java在线运行工具,支持在线编译、在线调试和在线结果的实时反馈。