Javaで木構造を出力する方法は何ですか?

Javaでは、再帰を使用して木構造を出力することができます。

最初に、ツリーノードを表すクラスを作成する必要があります。このクラスには、データフィールドと子ノードを指すリストや配列が含まれます。 TreeNodeという名前のクラスを仮定し、int型のデータフィールドとList型の子ノードリストを含めます。

その後、木構造を再帰的に走査して出力することができます。具体的な手順は次のとおりです:

  1. 木のノードを再帰的に走査して、ノードのデータを出力するメソッドを作成してください。
  2. 静的void printTree(TreeNode node, String prefix, boolean isTail) {
    System.out.println(prefix + (isTail ? “└── ” : “├── “) + node.getData());
    List children = node.getChildren();
    for (int i = 0; i < children.size() – 1; i++) { printTree(children.get(i), prefix + (isTail ? ” ” : “│ “), false); } if (children.size() > 0) {
    printTree(children.get(children.size() – 1), prefix + (isTail ? ” ” : “│ “), true);
    }
    }
  3. 主プログラム内で木を作成し、ルートノードと空文字列を引数として上記のメソッドを呼び出す。
  4. public static void main(String[] args) {
    TreeNode root = new TreeNode(1);
    TreeNode child1 = new TreeNode(2);
    TreeNode child2 = new TreeNode(3);
    TreeNode child3 = new TreeNode(4);
    TreeNode child4 = new TreeNode(5);
    root.addChild(child1);
    root.addChild(child2);
    child1.addChild(child3);
    child1.addChild(child4);printTree(root, “”, true);
    }

    public static void main(String[] args) {
    TreeNode root = new TreeNode(1);
    TreeNode child1 = new TreeNode(2);
    TreeNode child2 = new TreeNode(3);
    TreeNode child3 = new TreeNode(4);
    TreeNode child4 = new TreeNode(5);
    root.addChild(child1);
    root.addChild(child2);
    child1.addChild(child3);
    child1.addChild(child4);

    printTree(root, “”, true);
    }

プログラムを実行すれば、木構造の出力結果を見ることができます。

└── 1
    ├── 2
    │   ├── 4
    │   └── 5
    └── 3

これにより木構造の出力が実現されました。

bannerAds