問題CPP04020の解答例と解説 C++ Lv.3

ツリー構造の全オブジェクトの取得(30分)


<解答例 1>
F11キーでフルスクリーンモード、Escキーで元に戻ります。
引数で渡された pObject から、子オブジェクトを取得して childList に入れていき、いれられた子オブジェクトのさらに子オブジェクトを childList に入れていくよ。do-while 構文での繰り返し処理の1回の処理は、1つのオブジェクトの子オブジェクトを childList に入れて、1つ先のオブジェクトに進めるんだ。

childList は、curr よりも前は、すでに子オブジェクトを取得されたオブジェクトになって、curr よりも後は、まだ子オブジェクトを取得していないオブジェクトになるよ。


<解答例 2>
F11キーでフルスクリーンモード、Escキーで元に戻ります。
再帰関数にした例。再帰関数はスタックオーバフローになる可能性があるけれど、1つのスタックが消費するメモリ(つまり、関数の中で定義する変数の大きさや数など)が大きくなかったり、再帰の回数も限られたものだったら、こっちの方がプログラムはシンプルになるね。






初めての方へ:このページは、このサイトで用意しているプログラミング問題の解答と解説のページです。このサイトではブラウザ上からプログラミングができます。会員登録(無料)して、プログラミングしてみませんか?
新規登録



ログイン
メールアドレス:

パスワード:



パスワード紛失

新規登録