Java: перемещение курсора вперед / назад в двусвязном списке - PullRequest
0 голосов
/ 21 сентября 2018

Как и в обычном связанном списке, у меня есть класс узла и класс doublelinkedlist.Голова, хвост и курсор изначально равны нулю.После добавления элемента курсор будет установлен на вновь добавленный элемент.Допустим, я добавил два элемента, курсор ссылается на второй элемент (потому что он был только что добавлен).Как переместить курсор назад, чтобы он ссылался на первый элемент?Кроме того, как мне снова переместить его вперед ко второму элементу?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Насколько мне известно, в 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 из: https://www.geeksforgeeks.org/doubly-linked-list/

0 голосов
/ 21 сентября 2018

Ваш вопрос и цель не очень понятны, так или иначе, чтобы пройти через LinkedList фреймворка java collection (связанный список в api java collection), вы можете использовать объект Iterator.Так что курсор будет последовательно перемещаться от одного объекта к другому, пока не достигнет конца.

Надеюсь, ссылка ниже будет полезна.

https://beginnersbook.com/2014/07/java-linkedlist-iterator-example/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...