所以我基本上将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有什么用?我还需要做什么?
请修改该问题,将其限制为具有足够详细信息的特定问题以确定合适的答案。避免一次询问多个不同的问题。 –