Как происходит перемещение от узла к узлу в связанном списке - PullRequest
0 голосов
/ 09 марта 2019

Я только недавно начал изучать концепцию Linked List, и у меня возникла проблема с тем, как работает оператор else в приведенном ниже коде.Как он переходит к следующему узлу, пока в нем не будет найдено значение NULL?

public class LinkedList {

Node head;

public void insert(int data) {
    Node node = new Node(data);
    node.data = data;

    if(head == null) {

        head = node;

    }else{

        Node temp = head;
        while(temp.next != null) {
            temp = temp.next;
        }
        temp.next = node;

      }
   }  
}

1 Ответ

0 голосов
/ 09 марта 2019

Класс Node является представлением узла в связанном списке.Каждый Node имеет свой собственный data и указатель / ссылку на следующий Node, который хранится в next члене класса Node.

Теперь отвечаем на ваш вопрос о обходе,Мы начинаем обход с заголовка связанного списка - Node temp = head;.Теперь мы используем цикл while для обхода связанного списка и останавливаемся только тогда, когда мы достигаем последнего Node в связанном списке.Последний узел будет иметь ссылку next как null, следовательно, условие while(temp.next != null).Внутри цикла вы переходите к следующему узлу, и цикл останавливается, когда вы достигаете последнего узла.Затем вы устанавливаете новый Node в качестве следующего узла последнего узла, чтобы выполнить функцию вставки данных.

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