if(node == null){
node = new Node(e);
size ++ ;
}
if(node.e.compareTo(e) < 0 && node.left == null){
node.left = new Node(e);
}
if(node.e.compareTo(e) > 0 && node.right == null){
node.right = new Node(e);
}
if(node.e.compareTo(e) < 0 ){
add(node.left,e);
}
if(node.e.compareTo(e) > 0){
add(node.right,e);
}
我在前序遍历章节中添加元素之后打印,发现没有任何元素打印,然后DEBUG添加操作之后发现每次执行的时候node都是null,不知道是什么原因,还有,虽然我自己还没有实现非递归添加元素方式,但是看了别人的代码,有一个地方不是很理解
Node sue = null;
sue = this.root;
if(e.compareTo(sue.e) < 0){
sue = sue.left;
}
if(e.compareTo(sue.e) > 0){
sue = sue.right;
}
这是什么意思
补充:刚刚发现,如果是在递归add方法中判断node == null的话,每次都是为null,但是在
add方法中判断root是否为null的时候就是可以正常的创建元素并挂到树上