重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

都合の良い質問で申し訳ありません。
C言語でメニューを構成したいと思います。
(基本的なアルゴリズムには言語は関係ないと思いますが・・・)

階層は5階層程度、各階層が2~5メニューを考えております。
初期は当然トップメニューの先頭項目、
トップメニューの項目の内いずれかが選択されたらそれに応じた2階層目に移動、
2階層目の項目の内いずれかが選択されたらそれに応じた3階層目に移動・・・
と考えていたら、その管理方法に頭が痛くなってきました。(^^ゞ

今どの階層の何項目に居て、その下位層にはどんな項目がある等を効率良く管理する方法は無いもんでしょうか?
ツリー構造?リスト構造?
参考になるサイト等があれば、ご教示頂けると有り難いです。
よろしくお願いします。

A 回答 (2件)

何階層のメニューになるか分からないようなものをサポートするのであれば「再帰的なツリー構造」でしょう。

同じ階層に属するメニュー項目はリスト構造で管理できますから、あわせれば「『リスト構造の再帰的なツリー』構造」でしょうか。

5階層のうち2階層目が・・・3階層目が・・・と考えるから面倒なのです。自身を下位階層に持つことのできる構造を1階層分だけ作成すれば、それを繰り返し適用することで何階層にでもできます。(ファイル/フォルダ構造と同じです。)
    • good
    • 0

直接の回答ではないですが、


5階層と言うことは、AAAメニューのBBBを選択しその中のCCC項目を選択しその中のDDD項目を選択しその中のEEE項目を選択するって事ですか?

ん~。
使う立場で言わせていただければ、2階層か3階層ぐらいがベターだと思いますけど?

あまり階層が深いと、面倒に感じないかなぁ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!