木構造のアルゴリズムに関しての質問です。
###前提・実現したいこと
List[0]
List[1]
List[2]
・
・
List[6]
上記のようなリストを以下のような木構造のオブジェクトに変換したいです。
深さは最大で9、一つの節からの分岐数は特に上限がありません。
※スペースが反映されなかったため、見にくくなっています。
例:
root
ー|
ーーList[0]
ーーー|
ーーーList[1]
ーーーーー|
ーーーーーList[2]
ーーーーーー|
ーーーーーーList[3]
ーーー|
ーーーList[4]
ー|
ーーList[5]
ーーー|
ーーーList[6]
現状、
リンク内容
のようなサイトを参考にcompositeパターンでの実装を考えておりますが、
読み込むリストによって枝分かれが動的に変わるため、
階層が深くなった際に、子に対してindexの指定がうまくできません。
以下のような子の追加操作をスマートに記述したいです。
root.getChild(0).add(obj);
root.getChild(0).getChild(1).add(obj);
###試したこと
検索してみましたが、決め打ちでaddを行い、木構造を作成しているサンプルプログラムが多く、困っております。
わかりにくい質問で申し訳ございませんが、
知恵を貸していただけると幸いです。