Например, есть упражнение, которое говорит:Можно ли удалить последний узел в связанном списке?
Написать функцию для удаления узла из связанного списка, учитывая только что указатель
И это решение:
void deleteNode(Node* toDelete) {
// this function essensially first copies the data from the next pointer
// and then, deletes the next pointer
// However, it doesn't work if trying to delete the last element in the list
Node *temp = toDelete->next; // create a temp, assign to the one after toDelete
toDelete->data = temp->data; // change toDelete's data to the one's after it
toDelete->next = temp->next; // change toDelete's next to the one's after it
delete temp;
temp = nullptr;
}
Как изменить мое решение, чтобы иметь возможность удалить элемент в связанном списке, только указатель последнего узла?
Как последний узел отличается от других узлов и как вы можете это проверить? – juanchopanza
Это ничего не значит? это следующий nullptr – Oleksiy
Так что, возможно, вы можете использовать эту информацию, чтобы сделать что-то другое для этого узла. – juanchopanza