0
我正在學習二叉搜索樹並試圖用Java實現它。比較已經實現可比較的類的對象
public class BinarySearchTree<T>
{
private class Node
{
public T data;
public Node left;
public Node right;
}
//some code goes here
public void insert(T data)
{
//make a new node and add data to that node
//call to recursive function
}
private Node ins(Node root,Node toBeInserted)
{
if(root==null) { root = tobeInserted; return root; }
//problem is here...
else if(toBeInserted.data<=root.data)// <----How to do this ?????
root = ins(root.left,toBeInserted);
else
root = ins(root.right,toBeInserted);
return root;
}
//some more code
}
問題是如何比較類T的對象? 如果我在某個T類中實現了可比較的話,那麼如何比較存儲在左右節點中的數據?
在此先感謝。
如果T已經實現了許多接口,並且在像上面這樣的其他類中需要至少兩個不同接口的函數,那麼?? – SPK
是否SomeClass?這似乎不可能 –
SPK
'T擴展InterFace1&InterFace2' – axtavt