Can';我不懂Java双链表
我有这个密码Can';我不懂Java双链表,java,data-structures,doubly-linked-list,Java,Data Structures,Doubly Linked List,我有这个密码 public class Doublylinkedlist { private DLLNode head; private DLLNode tail; private int length; } 这是什么DLLNodehead声明?它是什么数据类型?有人能解释一下吗 这是DLLNode类 Public class DLLNode{ private int data ; private DLLNode prev; private DLLNode next;
public class Doublylinkedlist {
private DLLNode head;
private DLLNode tail;
private int length;
}
这是什么DLLNode
head声明?它是什么数据类型?有人能解释一下吗
这是DLLNode类
Public class DLLNode{
private int data ;
private DLLNode prev;
private DLLNode next;
}
现在这个“私有DLLNode prev”是什么?
它是什么数据类型?DLLNode是一个用户定义的类,就像Doublylinkedlist类一样 DLLNode类的可能示例如下:
public class DLLNode
{
int data;
DLLNode next;
DLLNode prev;
public DLLNode(int data)
{
this.data = data;
this.next = null;
this.prev = null;
}
}
DLLNode不是标准类。它是您应该定义自己的东西,或者是提供给您的
DLLNode
代表双链接列表节点。我想它代表。。双链接列表中的节点。类DoublyLinkedList
和DLLNode
是您老师提供的库的一部分吗?显然,DLLNode
是一个类,它包含对列表中一个对象的引用,以及对其他DLLNodes
的向前和向后引用。但是这些不是标准的Java类,所以我们不知道它们是什么。您需要告诉我们从何处获得它们。DLLNode
的数据类型是DLLNode
。它是您自己编写的一个类,包含数据和2个引用(1个指向上一个元素,1个指向下一个元素)。一个链表意味着每个元素都知道下一个元素。A->B->C。您可以从头到尾对其进行迭代。双链表仅仅意味着每个元素都知道下一个元素和前一个元素。所以你可以从两个方向迭代。head只是对before元素的引用,tail是对next元素的引用。在这里猜测,但是head为null表示您在开始(此元素之前没有元素),tail为null表示您在结束(没有下一个元素)。下一个DLLNode是什么??不:)它缺少一个DLLNode previous代码>@IndraneelMukherjee它是对列表中下一个节点的引用。链表只是一组链接在一起的节点。A->B->C->D。在这种情况下,一个节点保存一些名为“data”的int类型的数据和对列表中下一个节点的引用,该节点被引用为“next”。节点需要保留对列表中下一个节点的引用,否则您将无法遍历列表。我无法理解的是,该DLLNode类中的“DLLNode next”是什么。