たとえば、次のような演習があります。
そのポインターのみが与えられた場合に、リンクされたリストからノードを削除する関数を作成します
そして、これが解決策です:
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;
}
ポインターの最後のノードのみを指定して、リンクされたリストの最後の要素を削除できるようにソリューションを変更するにはどうすればよいですか?