在二叉搜索树中使用Java Comparable

时间:2014-03-18 23:28:14

标签: java loops find binary-search-tree comparable

我正在开发一个具有二进制搜索树的应用程序来存放员工记录。记录按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;
}

0 个答案:

没有答案