为了账号安全,请及时绑定邮箱和手机立即绑定

树值初始化为 0

树值初始化为 0

萧十郎 2021-10-13 12:48:50
我构建了一个树,其中我只是遍历插入的值,但由于变量初始化,输出包含一个额外的 0。如果删除了变量初始化,则程序将终止。以下输出为 51 15 5 0public class TreeImplementation {    public static class TreeDS{        TreeDS left;        TreeDS right;        int data;    }    public static TreeDS root = new TreeDS();    public static TreeDS insertInTree(TreeDS node,int value) {        if(node==null) {            node=new TreeDS();            node.data=value;            node.left=null;            node.right=null;            return node;        }        if(node.data>value) {            node.left=insertInTree(node.left,value);        }        else if(node.data<value) {            node.right=insertInTree(node.right,value);        }        return node;    }    public static void main(String[] args) {        insertInTree(root, 5);        insertInTree(root, 15);        insertInTree(root, 51);        inorder(root);    }    private static void inorder(TreeDS node) {                if(node!=null) {                    inorder(node.left);                    System.out.print(" "+node.data);                    inorder(node.right);                }    }}这段代码有什么问题?
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

0 来自 的初始值root。


insertInTree 获取旧根并返回新根,因此您需要类似的东西


    TreeDS root = null;

    root = insertInTree(root, 5);

    root = insertInTree(root, 15);

    root = insertInTree(root, 51);

    inorder(root);


查看完整回答
反对 回复 2021-10-13
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信