所以我基本上將Person對象添加到一個BinarySearchTree,一個我自己寫的類。我應該能夠像BST那樣做一些事情,比如找到一個人,返回它的孩子等等,而且我還必須爲BST使用泛型類型。我還必須創建一個PersonNode類,其數據部分是Person類型的。我很困惑所有這些如何處理在一起。我寫了這個至今:如何構建基於樹/節點/泛型的程序?
我的BST類:
public class BinarySearchTree<T extends Comparable<T>> {
public Node<T> root;
public BinarySearchTree() {
root = null;
}
public Node<T> find(T key) {
Node<T> current = root;
while (current.info != key) {
if (key.compareTo(current.info) < 0)
current = current.leftChild;
else
current = current.rightChild;
if (current == null)
return null;
}
return current;
}
}
我的通用節點類:
public class Node<T extends Comparable<T>> {
public T info;
public T link;
public Node<T> leftChild;
public Node<T> rightChild;
public void displayNode() {
System.out.print('{');
System.out.print(info);
System.out.print(", ");
System.out.print(link);
System.out.print("} ");
}
}
而且我PersonNode類,我很困惑,爲什麼這是必要的第一個地方,以及如何處理它:
public class PersonNode<Person> extends Node{
public int iData;
public int dData;
public Node leftChild;
public Node rightChild;
public void displayNode() {
System.out.print('{');
System.out.print(iData);
System.out.print(", ");
System.out.print(dData);
System.out.print("} ");
}
}
那麼,我現在正在做這個權利? PersonNode有什麼用?我還需要做什麼?
請修改該問題,將其限制爲具有足夠詳細信息的特定問題以確定合適的答案。避免一次詢問多個不同的問題。 –