У меня есть метод под названием «Найти», который, когда пользователь вводит значение элемента, получает адрес в новом узле, называемом * npt.Удаление узла с использованием адреса предыдущего узла
Использование * npt в качестве аргумента, я должен создать метод удаления, который удаляет значение после значения, сохраненного в npt.
Например, если это мой список: 134, 564, 674, 253, и я ввожу 674 для поиска, затем 253 удаляется.
В настоящее время, это мой код для функции удаления:
void LinkedList::Delete(Node *PrePosition){
Node *temp = PrePosition -> next;
PrePosition->next = PrePosition->next->next;
delete temp;
}
Проблема с этим, хотя, является то, что нет никакого способа, чтобы удалить узел головы в данный момент. Единственный намек, который мне дал, что на самом деле мне не очень помогает: PrePosition - NULL, если вы хотите удалить заголовок списка.
Предположительно класс 'LinkedList' имеет' 'Node * указатель называется' head', который связывает голову списка. Поэтому, если вы получите «NULL» для своего аргумента, выполните один и тот же код с помощью указателя на голову. –
Это, вероятно, звучит невероятно глупо с моей стороны, но метод Find требует int. Как можно установить аргумент NULL? – Bob
@Bob Вы можете вернуть '-1', если ваш код позволяет это. –