像普通的链表一样,我有一个节点类和一个双链表类。头,尾和光标最初都设置为null。添加元素后,光标将设置为新添加的元素。假设到目前为止我已经添加了两个元素,光标正在引用第二个元素(因为它刚刚被添加了)。我如何向后移动光标,使其引用第一个元素?另外,如何将其再次移至第二个元素?
答案 0 :(得分:0)
您的问题和目的不是很清楚,无论如何要遍历java集合框架的LinkedList(java集合api中的链接列表),都可以使用Iterator对象。这样光标将顺序地从一个对象移到另一个对象,直到到达终点。
我希望下面的链接有用。
https://beginnersbook.com/2014/07/java-linkedlist-iterator-example/
答案 1 :(得分:0)
据我所知,Java没有双向链表类。如果我错了请纠正我。
如果这是一个自定义的双向链接列表,您可能想知道怎么做?
// Class for Doubly Linked List
public class DLL {
Node head; // head of list
/* Doubly Linked list Node*/
class Node {
int data;
Node prev;
Node next;
// Constructor to create a new node
// next and prev is by default initialized as null
Node(int d) { data = d; }
}
}
public class DLLTest{
public static void main(String[] args) {
// setup
Node cursor = new Node(1);
cursor.next = new Node(2);
Node temp = cursor;
cursor = cursor.next;
cursor.prev = temp;
// To move cursor to second node, overwrite cursor with next node
cursor = cursor.next;
// To move cursor to first node, overwrite cursor again
cursor = cursor.prev;
}
}
的DLL的实现