2015-06-04 5 views
0

Я работал над проблемой бинарного дерева поиска с помощью java. Имя встроенного класса в TreeNode. В решении, он показываетНевозможно получить влево/вправо в классе TreeNode

enter image description here

Однако, когда я об осуществлении себя, я не могу сделать «root.left» или «root.right». Мне было интересно, не пропустил ли я что-нибудь? Благодаря!

+0

Что такое определение класса 'TreeNode'? – Leukipp

+0

Нет встроенного класса TreeNode, есть ли? – immibis

+0

@immibis Да, есть. Но у него нет «левого» или «правого». Поэтому я не могу делать «root.left» или «root.right» в intellJ .... – munmunbb

ответ

2

Доступ вправо/влево таким образом будет подразумевать TreeNode, который реализуется таким образом:

public class TreeNode<T> { 
    public TreeNode<T> right; 
    public TreeNode<T> left; 
    public T value; 
} 
+0

Спасибо! Что здесь означает «Т»? – munmunbb

+1

T - общий тип. Обычно многократно используемые структуры данных, в данном случае дерево, используют общий шаблон типа в форме «?». Это связано с тем, что мы можем иметь дерево String или дерево Integer, чтобы я мог определить каждый экземпляр следующим образом: TreeNode nodeInt = new TreeNode (); или TreeNode nodeString = new TreeNode (); Прочтите это для более подробного объяснения: https://docs.oracle.com/javase/8/docs/technotes/guides/language/generics.html –

Смежные вопросы