Связанные списки добавления элементов Java - PullRequest
0 голосов
/ 11 сентября 2018

Я изучаю связанные списки в Java, и у меня есть проблема с первым элементом, который регистрируется дважды.Как исправить эту проблему.Вот мой код:

if (head==null) {
        head=new Node(data);

        }
        Node current=head; 

        while(current.getNext()!=null) {
            current=current.getNext();

        }
        current.setNext(new Node(data));// how to change this line 

}

https://pastebin.com/2PCvJmKT

Ответы [ 2 ]

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

Вы должны добавить возврат после добавления первого элемента.

if (head==null) {
     head = new Node(data);
     return;
}

Я взял код по ссылке.

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

В pastebin этот фрагмент кода является частью вашей функции "вставки".Итак, во фрагменте кода вы рассматриваете случай «Что если мой LinkedList пуст?» -> нет элементов в списке -> нет заголовка

Если это так, вы просто хотите добавить новые данные впустой список как новый узел (данные).

Но сейчас вы делаете следующее: вы создаете новый узел для пустого списка, устанавливаете этот узел в качестве заголовка и перебираете список с помощьютолько один элемент. Это практически означает, что вы никогда не войдете в цикл while. После этого вы добавляете узел с теми же данными, что и головой, как и его преемник.

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