как вставить узел Q в связанный список

Итак, учитывая следующие условия, правильно ли это:

условия:

  • prev ссылается на последний узел списка
  • curr равен нулю

    public void insertQ(SinglyLinkedListNode Q){
        if (prev.next.next == curr){
            prev.next = Q;
            Q.next = curr;
        }
        return;
    }
    

Правильно ли предыдущий оператор вставляет узел Q в связанный список?


person user3363511    schedule 12.03.2016    source источник


Ответы (1)


Я не могу понять вашу логику добавления узла в конец односвязного списка. Ваша строка if (prev.next.next == curr) не определена, так как prev.next сама по себе null. Я добавил фрагмент для добавления узла в конец связанного списка.

void append(int data){

    Node node = new Node(data);
    if(head==null){
         head = new Node(int data);
         return;
    }
    new_node.next = null;
    Node last = head; 
    while (last.next != null)
        last = last.next;

    last.next = new_node;
    return;
}
person FallAndLearn    schedule 13.03.2016