void List::removeLast() { // 実現できない関数!! if (head == NULL) return; Cell *p; for (p = head; (p->next)->next != NULL; p = p->next) Cell *removed = p->next; p->next = NULL; delete removed; } int main() { List l; l.addFirst(1); l.addFirst(2); l.addFirst(3); l.print(); l.removeFirst(); l.print(); l.addLast(4); l.print(); l.removeLast(); l.print(); return 0; }
理想の実行結果
321
21
214
21
リストの末尾要素を削除する関数が上手く定義できません。
どうすればよいでしょうか?
次のアドレスがNULLであるリストを削除して、その1つ前のリストの次のアドレスをNULLにすればよいことはわかっていますが、どう書いたらいいのかわかりません。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。