template <class T>
bool LinkedList<T>::remove(const T object){
Node<T> *cur = head;
while(cur->next != NULL){
if(cur->next->value == object){
Node<T>* temp = cur->next->next;
delete cur->next;
cur->next = temp;
s--;
return true;
}
cur = cur->next;
}
return false;
}
割り当て後にオブジェクトを削除します。値をプリントアウトすると、ノードが破損しているように見えます。これは、リンクされたリストからアイテムを削除する最善の方法ですか?リンクリストのノードを削除せずにノードを削除するにはどうすればよいですか?
をおそらく関係ありません:これは頭にない削除するオブジェクトを想定しています。 –
それは、(オブジェクトがリストの最初の項目である 'オブジェクト'を処理しないという事実を除いて)うまく見えます。おそらく、ノードのデストラクタが何か「賢い」をしているか、 'コード。 btw:何ですか? – John3136
リストの先頭を処理するには、もっと多くの作業が必要です。オブジェクトが先頭であるときに作業しないこと以外は、リストが空で頭がNULLの場合はさらに劇的な方法で失敗します。 –