~~~~~~~~ 囧 想不通了 ``!!郁闷
java吧
全部回复
仅看楼主
level 3
漫步者aigo 楼主
package List;
public class TempDome {
     public static void main(String[] args) {
         BinaryTree a = new BinaryTree();
         a.add(1,2);
         a.inarder();
     }
}
class BinaryTree {
     private static class TreeNode {
         private Object element; // 节点元素值
         private TreeNode left; // 左树节点
         private TreeNode right; // 右树节点
         // 构造方法 给节点元素 赋值
         public TreeNode(Object element) {
             this.element = element;
         }
     }
     // `````华```丽```的```分```割```线```````
     private TreeNode root; // 根节点
     private int size = 0; // 记录元素个数
     private TreeNode temp;
     private TreeNode current;
     public void add(Object... element) {
         for (int i = 0; i < element.length; i++) {
             insert(element[i]);
         }
     }
     public boolean insert(Object element) {
         boolean a = true;
         temp = root;
         if (root == null) {
             root = new TreeNode(element);
         } else {
             while (temp != null) {
                 if (((Comparable) element).compareTo(temp.element) < 0) {
                     current = temp; 这里去掉!! current 为目前元素
                     temp=temp.left;
                 } else if (((Comparable) element).compareTo(temp.element) > 0) {
                     current = temp;    这里去掉!!
                     temp=temp.right;

2011年02月16日 07点02分 1
level 3
漫步者aigo 楼主
                     a = false;
                 } else {
                     return false;
                 }
             }
             if (a) {
                 current.left = new TreeNode(element);
                这里改成 temp = new TreeMod(element);
             } else {
                 current.right = new TreeNode(element);
                这里改成 temp = new TreeMod(element);
             }
         }
         size++;
         return true;
     }
     public void inarder() {
         inarder(root);
     }
     public void inarder(TreeNode root) {
         if (root == null) {
             return;
         }
         inarder(root.left);
         System.out.print(root.element);
         inarder(root.right);
     }
}
为什么 就不对呢``? 那里出错了 都是 root 指向下一个呀` 但是我改过的 root 就是不能找到 right 与 left`!
2011年02月16日 07点02分 2
level 3
漫步者aigo 楼主
[揉脸] 自己在顶下`` 在没人回答 就沉了 好吧 o(╯□╰)o
2011年02月18日 01点02分 3
1