Я работаю на деревьях в Java.В настоящее время я работаю над извлечением и вставкой методов.Вот методы:
public void insert(E item) {
if(item <= node.item){
if(node.left == null){
node.left = new TreeNode<E>(item);
}
else{
insert(node.left.item);
}
}
else{
if(node.right == null){
node.right = new TreeNode<E>(item);
}
else{
insert(node.right.item);
}
}
root.item = item;
}
public E retrieve(E item) {
if(item == node.item){
return item;
}
else if(item <= node.item){
if(node.left == null){
return null;
}
else{
return retrieve(node.left.item);
}
} else{
if(node.right == null){
return null;
}
else {
return retrieve(node.right.item);
}
}
}
В приведенном выше коде операторы if:
if(item <= node.item)
... дают мне следующие ошибки:
java: bad operand types for binary operator '<='
first type: E
second type: E
Я немного сбит с толку, потому что когда я переключаю операнд с помощью CompareTo (), это дает мне знать, что результат логический, но мы ожидаем int.Я не слишком уверен, как их сравнивать;точнее с чем их сравнивать.SOS!
Спасибо, T