我正在开发一个具有二进制搜索树的应用程序来存放员工记录。记录按BST内的员工ID排序。但是,我对BST的调用看起来类似于#insert(int key,E data),因此我的节点由两个独立的数据值组成,一个用于容纳密钥,另一个用于实际数据。
我有一个定义员工对象的自定义类,其中一个字段是ID字段。我试图找出一种只使用员工对象的ID字段来搜索BST的方法,同时保持BST类型的通用性。
我当前的查找功能如下
public E find(int key) {
Node current = root;
while (current.iData != key) {
if (key < current.iData)
current = current.leftChild;
else
current = current.rightChild;
if (current == null)
return null;
}
return current.data;
}