Я пытаюсь вставить узел в связанный список после текущего узла с помощью Java. Я смог получить вставку перед текущим узлом, но я не могу заставить это работать:Вставка LinkedList После узла
Вот код для insertNodeBefore
. Я просто хочу знать, есть ли способ адаптировать это, чтобы иметь возможность вставлять после текущего узла?
// Insert new node nVal to the list before current node curVal
public void insertNodeBefore(E nVal, E curVal) {
Node<E> newNode = new Node<E>(nVal);
Node<E> curr = head;
Node<E> prev = null;
if (head.getNodeValue() == curVal) {
newNode.setNext(head);
head = newNode;
return;
}
// scan until locate node or come to end of list
while (curr != null) {
// have a match
if (curr.getNodeValue() == curVal) {
// insert node
newNode.setNext(curr);
prev.setNext(newNode);
break;
} else {
// advanced curr and prev
prev = curr;
curr = curr.getNext();
}
}
}
Что-то вроде newNode.setNext (curr.getNext()); curr.setNext (newNode); ? –
, пожалуйста, кондексируйте замену '==' на '.equals()', если вам нужно найти по * значению *, а не только * reference *. –
@ArturBiesiadowski, он не работал, извините, он все еще помещает его раньше. – Pat