这个二叉搜索树实现中的错误在哪里?

时间:2016-03-12 14:44:26

标签: java debugging binary-search-tree

我正在测试main()中的一些代码,由于某种原因,我得到“7”而不是“7 8”。这是二进制搜索树的一个非常基本的实现,我无法弄清楚问题是什么。

public class BSTNode{
public static void main(String [] args) {
    BSTNode root = new BSTNode(7);
    BSTNode.insert(root, 8);
    BSTNode.print(root);
}

public Integer val;
public BSTNode left = null;
public BSTNode right = null;

public BSTNode(Integer val) {
    this.val = val;
}

public static void print(BSTNode root){
    if(root == null) return;
    print(root.left);
    System.out.print(root.val + " ");
    print(root.right);
}

public static void insert(BSTNode root, Integer val){
    if(root == null) root = new BSTNode(val);
    else {
        if(val <= root.val) insert(root.left, val);
        else insert(root.right, val);
    }
}


}

0 个答案:

没有答案