Я пытаюсь удалить данный узел из связанного списка. Я не знаю, почему мой код не работает. Любые намеки? Поэтому у меня есть [11,21,31,41] и они просят меня, чтобы удалить узел по индексу 2 в этом случае 31. До сих пор у меня есть это:Удаление узла из связанного списка
public void delete (int k) {
//[ 11 21 31 41 ].delete(2): expected=[ 11 21 41 ]
if (k < 0 || k >= N) throw new IllegalArgumentException();
for(Node x = first; x != null; x = x.next) {
//deletes node
if(x.item == k){
x = x.next;
}
if(x.item <= k){
x = x.next.next;
}
}
}
Может кто-нибудь сказать мне, пожалуйста, почему это не работает? Спасибо
Что ошибка вы получаете? Или это просто не удаляет элемент. – denis
он вообще не удаляет элемент ... – Hello
Вам нужно установить следующий из предыдущего узла на следующий узел, который вы хотите удалить (при условии, что у вас есть отдельный список) – Zarwan