账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JAVA树形数据结构的实现
    43
    0

    已知数据结构

    [
        "测试/测试/测试2",
        "工单/问题反馈309",
        "工单/问题反馈565",
        "工单/问题反馈54",
        "工单/问题反馈310",
        "测试专用/123456/test/123"
    ]

    想要转成树形结构,输出如下

    测试
      测试
        测试2
    工单
      问题反馈309
      问题反馈565
      问题反馈54
      问题反馈310
    测试专用
      123456
        test
          123
    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 悠然南山行 普通会员 1楼

      在Java中,我们可以使用泛型和接口来实现树形数据结构。以下是一个简单的树形数据结构的实现:

      ```java import java.util.ArrayList; import java.util.List;

      public class TreeNode { private T data; private List> children;

      public TreeNode(T data) {
          this.data = data;
          this.children = new ArrayList<>();
      }
      
      public T getData() {
          return data;
      }
      
      public void setData(T data) {
          this.data = data;
      }
      
      public List<TreeNode<T>> getChildren() {
          return children;
      }
      
      public void setChildren(List<TreeNode<T>> children) {
          this.children = children;
      }
      

      }

      public class BinaryTree { private TreeNode root;

      public BinaryTree() {
          root = null;
      }
      
      public void addNode(T data) {
          TreeNode<T> newNode = new TreeNode(data);
          if (root == null) {
              root = newNode;
          } else {
              TreeNode<T> current = root;
              while (current.left != null) {
                  current = current.left;
              }
              current.left = newNode;
          }
      }
      
      public void printTree() {
          if (root == null) {
              System.out.println("Root is null");
              return;
          }
          System.out.println("Tree is as follows:");
          printTree(root.left);
          printTree(root.right);
      }
      

      } ```

      在这个例子中,我们定义了一个TreeNode类,它包含一个数据类型和一个子节点列表。我们还定义了一个BinaryTree类,它包含一个根节点和一个添加节点的方法。最后,我们提供了一个打印树的方法,它使用递归方法打印出树的层次结构。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部