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 인 경우 더욱 극적인 방식으로 실패합니다. –