Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二叉排序树中的compareTo方法_Java_Compare_Binary Tree_Compareto - Fatal编程技术网

Java 二叉排序树中的compareTo方法

Java 二叉排序树中的compareTo方法,java,compare,binary-tree,compareto,Java,Compare,Binary Tree,Compareto,我正在尝试一种方法来计算BST中大于x的元素数:如果树包含{3,7,8,-4,6},并且x=6,则该方法应返回2 目前,我得到了一个找不到符号的错误,我的比较。。。这是我的代码: public int countGreater(T x) { BSTNode<T> base = root; if(base == null) return 0; int greater = great(base, x); return greater; } private

我正在尝试一种方法来计算BST中大于x的元素数:如果树包含
{3,7,8,-4,6}
,并且
x=6
,则该方法应
返回2

目前,我得到了一个找不到符号的错误,我的比较。。。这是我的代码:

public int countGreater(T x)
{
    BSTNode<T> base = root;
    if(base == null) return 0;
    int greater = great(base, x);
    return greater;
}

private int great(BSTNode<T> base, T x)
{
    int numG = 0;
    Iterator<T> getGreatest = getIterator(Postorder);

    while(getGreatest.hasNext())
    {
        if(compare(getGreatest.next(), x) > 0)
        {
            numG++;
        }
    }

    return numG;
}

public int compare(T a, T b)
{
    return (a.compareTo(b));
}
public int countmorer(tx)
{
节点基=根;
if(base==null)返回0;
更大的整数=大(基数x);
回报更大;
}
私有int-great(基本节点,T x)
{
int numG=0;
迭代器getGreatest=getIterator(后序);
while(getgrest.hasNext())
{
if(比较(getgrest.next(),x)>0)
{
numG++;
}
}
返回numG;
}
公共整数比较(TA,TB)
{
回报(a.与(b)相比);
}

您需要通过指定类型约束,让Java编译器知道
T
有一个
compareTo
方法:

class MyBst<T extends Comparable<? super T>> {
    ... //    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ... //         Add this constraint
}

class MyBst您需要通过指定类型约束,让Java编译器知道
T
有一个
compareTo
方法:

class MyBst<T extends Comparable<? super T>> {
    ... //    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ... //         Add this constraint
}

class MyBst
compareTo
是来自
Comparable
接口的方法

要使用它,您应该定义您的类是implement
Comparable
接口

private <T extends Comparable<T>> int(BSTNode<T> base, T x) {

} 
private int(基本节点,T x){
} 

compareTo
是来自
Comparable
界面的一种方法

要使用它,您应该定义您的类是implement
Comparable
接口

private <T extends Comparable<T>> int(BSTNode<T> base, T x) {

} 
private int(基本节点,T x){
} 

如何定义
T
?您的
T
是否定义为与自身
可比?如何定义
T
?您的
T
是否定义为与自身
可比?