所以我理解这个方法里面发生了什么,但我完全不知道怎么写它。当我运行这种方法时,我得到了我的程序。 java.lang.Comparable中的compareTo(T)不能应用于 BOLDED 行上的(java.lang.Comparable),所以希望你能指出它是什么,而不必发布所有不同的c用它来评估。
public boolean isBST(BinaryTreeNode<T> tree){
Comparable<T> temp1 = (Comparable<T>) tree.lLink.info;
Comparable<T> temp2 = (Comparable<T>) tree.rLink.info;
Comparable<T> temp3 = (Comparable<T>) tree.info;
if (tree == null)
return true;
else if (tree.lLink != null) // && tree.lLink.info > tree.info)
return false ;
**else if ( temp1.compareTo(temp3) > 0 )**
return false;
else if (tree.rLink != null) // && tree.rLink.info <= tree.info)
return false;
**else if ( temp2.compareTo(temp3) > 0 )**
return false;
else
return isBST(tree.lLink) && isBST(tree.rLink);
}//closes boolean isBST