ok?写出来分都给他package tree;
/**
 * 排序二叉树
 */
public class Tree{
public Node root=new Node();
private class Node{
private Node left;
private Node right;
private Integer object;
}

public void add(Integer o){
if(root.object==null){
root.object=o;
return;
}
Node node=root;
while(node.object!=null){
//小的在左边,大的在右边
if(o.compareTo(node.object)<=0){
if(node.left!=null){
node=node.left;
}else{
node.left=new Node();
node=node.left;
}
}else{
if(node.right!=null){
node=node.right;
}else{
node.right=new Node();
node=node.right;
}
}
}
node.object=o;
}}

解决方案 »

  1.   

    排版一下
    public class Tree{
      public Node root=new Node();  //树的节点类
      private class Node{
         private Node left;
         private Node right;
         private Integer object;
      }  public void add(Integer o){
        if(root.object==null){
            root.object=o;
            return;
        }
        Node node=root;
        while(node.object!=null){
         //小的在左边,大的在右边
          if(o.compareTo(node.object) <=0){
             if(node.left!=null){
                 node=node.left;
             }else{
                node.left=new Node();
                node=node.left;
             }
          }else{
             if(node.right!=null){
                 node=node.right;
             }else{
                 node.right=new Node();
                 node=node.right;
             }
          }
       }
       node.object=o;
      }
      

  2.   

    你的树写的有问题吧....遍历结果不太对劲....public void bianli(Tree.Node node, int k) { if (node == null) {
    return;
    }
    if (k == 1) {// 先根
    System.out.print(node.object + "\t");
    bianli(node.left, k);
    bianli(node.right, k);
    }
    if (k == 0) {// 中根
    bianli(node.left, k);
    System.out.print(node.object + "\t");
    bianli(node.right, k);
    }
    if (k == -1) {// 后根
    bianli(node.left, k);
    bianli(node.right, k);
    System.out.print(node.object + "\t");
    }
    }我是这样写的,遍历的时候有点问题,楼上楼下的帮忙测测我的代码,谢谢....
      

  3.   

    methodName(Node root){
      if(root.left!=null){
        methodName(root.left)
      }
      if(root.right!=null){
        methodName(root.right)
      }
    }