双向链表的含义:
每个节点保存着下一个节点的引用,同时还保存着对前一个节点的引用
节点类的定义:
节点类中需要定义数据域、和指针域,其中指针域包括下一个节点和前一个节点。
/**
* 链节点
*/
public class Node {
//数据域
public long data;
//节点域(指针域)
public Node next;
public Node previous;
public Node(long value) {
this.data=value;
}
/**
* 显示方法
*/
public void display(){
System.out.print(data+" ");
}
}
双向链表创建:
1.双向链表是在双端链表基础上得来的,所以双向链表中需要定义头结点和尾节点。
public class DoubleLinkedList {
//头结点
private Node first;
//尾节点
private Node last;
public DoubleLinkedList() {
first = null;
last = null;
//待补充...
}
}
2.从头部进行插入:
要对链表进行判断,如果空则设置尾节点为新添加的节点。如果不为空,还需要设置头结点的前一个节点为新添加的节 点。
public class DoubleLinkedList {
//头结点
private Node first;
//尾节点
private No