値が渡されたときにデザートノードを削除する必要があります。私はリンクされたリストを検索し、一致が現れ、ノードを削除してtrueを返します。値が見つからない場合はfalseを返します。C++固有のノードリンクリストの削除。コードは意味がありますか?
bool LinkedList::delNode(string flavor)
{
Dessert *pointer1 = head;
Dessert *ptrT;
while (pointer1 != NULL) {
if (pointer1->flavor != flavor) {
ptrT = pointer1;
pointer1 = pointer1->next;
} else {
ptrT->next = pointer1->next;
delete pointer1;
return true;
// Should I add a break here ?
}
else if(pointer1->next == NULL) { return false; }
}
}
ここでのコーディングがすべての可能なノードの場所に適しているかどうかは完全にはわかりません。
ので、あなたは正直なところ、私はおそらく[** this ** **](http://pastebin.com/m9xcbHFQ)でしょう。 -ifは必要ではありませんが、return文がありません。ループが使い果たされ、 'poin ter1はNULLに達する。または空のリスト(ヌルヘッドポインタ)を送信するとどうなりますか? – WhozCraig