我需要在二叉搜索树上编写一个排序集,问题是,我不知道如何使用抽象类型并在上下文中比较这两个对象,因为我需要声明自己的比较器。
我到目前为止,但不知何故我被卡住了,因为我认为 Comparable 类型是不可能的,因为我自己的比较器方法。
静态节点类:
static class BinaryNode<ElementType> {
ElementType element;
BinaryNode <ElementType> right;
BinaryNode <ElementType> left;
public BinaryNode(ElementType elm) {
ElementType element = elm;
right=left=null;
}
}
我感到困惑的方法示例:
private BinaryNode find( ElementType x, BinaryNode t ) {
while( t != null ) {
if( x.compareTo( t.element ) < 0 )
t = t.left;
else if( x.compareTo( t.element ) > 0 ) // is done with overrite of the comparable method, any Ideas please?
t = t.right;
else
return t; // Match
}
return null; // Not found
}