class DLinkedNode {
public int val = 0;
public DLinkedNode prev = null;
public DLinkedNode next = null;
public DLinkedNode(int val){
this.val = val;
}
}
public class DLinkedList{
private DLinkedNode head = null;
public DLinkedList(){
//创建傀儡结点
head = new DLinkedNode(-1);
//带环
head.next = head;
head.prev = head;
}
public void addFirst(int data){
//1.创建一个新的结点
DLinkedNode newNode = new DLinkedNode(data);
DLinkedNode next = head.next;
newNode.next = next;
next.prev = newNode;
head.next = newNode;
newNode.prev = head;
}
public void addLast(int data){
DLinkedNode newNode = new DLinkedNode(data);
//这个节点就是新的结点的前一个结点,head就是新的结点的后一个结点
DLinkedNode prev = head.prev;
head.prev = newNode;
prev.
双向链表的相关操作
最新推荐文章于 2022-10-23 22:06:16 发布