Я пытаюсь добавить узел в конец списка, и это то, что я придумал. Мне просто интересно, поставил ли я хвост, если это то же самое, что хвост = добавить? Или если у меня есть tail = head.next, если это то же самое, что tail = add? Заранее спасибоЯсность Java-Node
public BasicLinkedList<T> addToEnd(T data) {
Node add= new Node(data);
Node curr=head;
if(size==0){
head= add;
tail=head; //is it okay to make this= head? Or should it be =add?
}else if(size==1){
head.next=add;
tail=head.next; //is it okay to make this= head.next? Or should it be =add?
}else{
while(head.next!= null){
curr=head.next;
}curr.next = add;
tail = add;
}
size++;
return this;
}
Я считаю, что у вас может быть логическая проблема. 'while (head.next! = null) {', это должно быть проверка 'curr.next', иначе вы окажетесь в бесконечном цикле, поскольку голова не меняется в цикле, поэтому она всегда будет истиной. –
Подсказка: вам не нужен блок 'if (size == 1)'. – progyammer