Заголовок списка ссылок Java не найден - PullRequest
0 голосов
/ 10 октября 2018

Попробуйте создать пустой список ссылок.Для создания пустого списка я создал внутренний класс Node и сделал его статическим, чтобы основной класс мог получить к нему доступ.

import java.util.LinkedList;

public class Addtwo {
static class Node {
    int data;
    Node next;
    Node head;

    Node(int d) {
        data = d;
        next = null;
        // Constructor
    }

        public static void main (String args[])
        {
            /* Start with the empty list. */
            LinkedList llist = new LinkedList();

            llist.head = new Node(1);
            Node second = new Node(2);
            Node third = new Node(3);
            llist.head.next = second;
            second.next = third;
        }

    }
}

Он не может найти заголовок узла, который я создаю внутри внутреннего класса Node.Как это решить?

Ошибка:

  Error   :(22, 22) java: cannot find symbol
  symbol  : variable head
  location: variable llist of type java.util.LinkedList

1 Ответ

0 голосов
/ 10 октября 2018

Во-первых, если вы хотите использовать JDK LinkedList, вам не нужно управлять узлами списка, эта работа уже выполнена.Вам нужно только сделать это:

LinkedList<Integer> llist = new LinkedList<Integer>();
llist.add(1);
llist.add(2);
llist.add(3);

И есть больше функциональных возможностей здесь .

Во-вторых, если вы хотите реализовать свой собственный связанный список (я думаю, что этоэто то, что вы хотите), вам не нужно использовать LinkedList JDK, вы можете начать с этого базового кода:

public class Addtwo {
    static class Node {
        int data;
        Node next;

        Node(int d) {
            data = d;
            next = null;
        }

        public static void main(String args[]) {
            /* Start with the empty list. */
            Node head = new Node(1);
            Node second = new Node(2);
            Node third = new Node(3);
            head.next = second;
            second.next = third;

            Node iterator = head;
            while (iterator != null) {
                System.out.println(iterator.data);
                iterator = iterator.next;
            }
        }
    }
}

PS: вам не нужно хранить заголовок для каждого узла.Вам, вероятно, понадобится другой класс LinkedListManager для реализации некоторых методов и сохранения заголовка и конца списка.

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