2016-04-20 25 views
-2
public void insert(int v) { 
    Node t = root; 
    int compareResult; 
    compareResult = 0; 
    if ((t.getData()).equals(v)) return; 
    if (t == null) { 
     Node n = new Node<>(v, t, null, null); 
    } else 
     while (t != null) { 

      compareResult = v.compareTo(t.getData()); 
      if (compareResult > 0) { 
       if (t.getRight() != null) { 
        t = t.getRight(); 
       } else { 
        Node n = t.getRight(); 
        break; 
       } 
      } 

      else { 
       compareResult = v.compareTo(t.getData()); 
       if (compareResult < 0) { 
        if (t.getLeft() != null) { 
         t = t.getLeft(); 
        } else { 
         Node n = t.getLeft(); 
         break; 
        } 
       } 
      } 
     } 
+0

取代v.compareTo(t.getData())你需要更具體 – Colin

+0

你需要告訴我們你得到錯誤。 – azurefrog

回答

1

v是原始int。您不能在Java中調用原始類型的方法。

但是,您可以用Integer.compare(v, t.getData())