C/C++の宿題片付けます 165代目
■ このスレッドは過去ログ倉庫に格納されています
>return leftもreturn rightもあるだろ。
それは value == v のときだけ、言い直すと削除対象のノードをみつけて削除するときだけに実行されるんだね
削除対象をみつけるまではひたすら再帰呼び出し、削除した後で root に遡っていくときに
left = left.delNode(v);
あるいは
right = right.delNode(v);
この left や right は更新されないでしょ?
まあそんなことはどうでもよくて、>>608 の再帰コール前に null チェックとか、めちゃ読みにくいねえ‥‥コンパクトさが再帰の身上なのに、これじゃ再帰で書く意味がない‥‥
最近は再帰の頭に終端処理を書くとかやらないのか?こんなコードをのっけてる教科書があったらぜひ教えてほしい
■ このスレッドは過去ログ倉庫に格納されています