关于二叉树输出问题 --- > 没有变成死循环吗?
class BinaryTree{class Node{
private Comparable data ;
private Node left ;
private Node right ;
public Node(Comparable data){
this.data = data ;
}
public void addNode(Node newNode){
if(newNode.(this.data)<0){
if(this.left==null){
this.left = newNode ;
}else{
this.left.addNode(newNode) ;
}
}
if(newNode.(this.data)>=0){
if(this.right==null){
this.right = newNode ;
}else{
this.right.addNode(newNode) ;
}
}
}
public void printNode(){ [color=#0000FF][color=#FF0000]//在输出时、这一段为什么不是一个死循环啊?[/color]
if(this.left!=null){
this.left.printNode() ;
}
System.out.print(this.data + "\t") ;
if(this.right!=null){
this.right.printNode() ;
}
}[/color]
};
private Node root ;
public void add(Comparable data){
Node newNode = new Node(data) ;
if(root==null){
root = newNode ;
}else{
root.addNode(newNode) ;
}
}
public void print(){
this.root.printNode() ;
}
};
public class ComparableDemo03{
public static void main(String args[]){
BinaryTree bt = new BinaryTree() ;
bt.add(8) ;
bt.add(3) ;
bt.add(3) ;
bt.add(10) ;
bt.add(9) ;
bt.add(1) ;
bt.add(5) ;
bt.add(5) ;
System.out.println("排序之后的结果:") ;
bt.print() ;
}
};