温馨提示×

java怎么实现树结构的输出

小亿
151
2024-01-26 22:10:04
栏目: 编程语言

Java中可以使用递归的方式来实现树结构的输出。

首先,需要创建一个表示树节点的类,该类包含一个数据域和一个指向子节点的列表或数组。假设树节点的类为TreeNode,包含一个int类型的数据域和一个List类型的子节点列表。

然后,可以使用递归的方式来遍历并输出树的结构。具体的步骤如下:

  1. 创建一个方法,用于递归遍历树节点并输出节点的数据域。

    private static void printTree(TreeNode node, String prefix, boolean isTail) {
        System.out.println(prefix + (isTail ? "└── " : "├── ") + node.getData());
        List<TreeNode> 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);
        }
    }
    
  2. 在主程序中创建一个树,并传入根节点和空字符串作为参数调用上述方法进行输出。

    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

这样就实现了树结构的输出。

0