0
因此,我試圖編寫一個遞歸函數,該函數返回BST中元素的「尾部集合」。基本上,它返回每個大於輸入的元素。這是迄今爲止我所擁有的。Java - 在BST中的某個元素之後返回每個節點
@Override
public SortedSet<E> tailSet(E toElement){
SortedSet<E> set = new SearchTreeSet<>();
tailSet(root, toElement, set);
return set;
}
private void tailSet(Node<E> n, E elt, SortedSet<E> set){
if(n == null){
return;
}
set.add((E) n.data);
tailSet(n.left, elt, set);
tailSet(n.right, elt, set);
}
因此,這使我得到了BST的有序輸出,但我不確定如何使用toElement變量。 toElement是我想用作基本情況的集合中的元素,因此所有更大的內容都將放入SortedSet集合中。我不知道我需要如何去做這件事,任何幫助將不勝感激。
構造函數由我的教授定義,所以我無法改變它們。
但是,如何將節點的數據與泛型類型進行比較? – Paul
請參閱此[鏈接](http://stackoverflow.com/questions/20793082/java-comparing-generic-types)以比較泛型類型。 – frankgreco
@paul如果答案幫助你,然後選擇它作爲正確的答案。 –