public class LinkedList<E> {
private Node<E> head;
private Node<E> tail;
/* Inserts*/
public void insertAtHead(E data)
{
Node<E> newNode=new Node<E>(data);
if(this.head==null)
{
this.head=newNode;
//newNode.nextNode=this.head; <--- Here is error cause
this.tail=this.head;
}
else {
newNode.prevNode = this.tail;
this.head.prevNode = newNode;
newNode.nextNode = this.head;
this.head = newNode;
System.out.println("tail.next is: " + this.tail.nextNode);
}
}
Насколько я понимаю, я должен указывать хвост списка на головной узел при реализации циклически связанного списка. Это реализация двойного кругового связанного списка, который у меня есть, и закомментированная строка - это то, что я не понимаю, почему вызывает ошибку. Кажется, что хвост либо нулевой, либо застрял в бесконечном l oop, может кто-нибудь помочь мне понять, пожалуйста? спасибо