链表有初始化、插入元素、删除元素、查找元素等方法。在创建链表的过程中,最关键的是搞清楚链表的几个关键数据构成:链表由一个个节点互相串联构成,节点作为一个基础的对象,可由类Node(随便取个名字都行)来声明。节点中包含三个值,key(int)用于存储数据值的大小、prev(Node)用作指针指向上一个节点、next(Node)用作指针指向下一个节点。
本文实现的双向链表,在初始化时,头节点nil的prev和next指针均指向自己。而在插入元素时,则比较讲究,可以参考下图:
实现代码如下:
Main.java
public class Main {
public static void main(String[] args) {
BidirectionalLinkedList LinkedList = new BidirectionalLinkedList();
LinkedList.insert(1);//链表添加元素
LinkedList.insert(3);
LinkedList.insert(9);
LinkedList.insert(8);
LinkedList.insert(4);
LinkedList.insert(7);
LinkedList.insert(2);
LinkedList.show(