双向链表
1.建立链表
①.节点类
②.链表类
class ListNode{
public int data;
public ListNode prev;//前驱
public ListNode next;//后继
public ListNode(int data) {
this.data = data;
}
}
public class DoubleList {
public ListNode head;//头节点
public ListNode last;//尾节点
}
2.头插法
public void addFirst(int data) {
ListNode node = new ListNode(data);
if(this.head==null){
head=node;
last=node;
}else{
this.head.prev=node;
node.next=this.head;
this.head=node;
}
}
3.尾插法
public void addLast(int data){
ListNode node=new ListNode(data);
if (this.head == null) {
head=node;
last=node;
}else{
this.last.next=node;
node.prev=this.last;
this.last=node;
}
}