Может ли поле класса иметь переменное значение в зависимости от переменных других элементов?
Есть элемент дерева, в нем одно из полей определяется в зависимости от полей левого и правого листа. Возможна ли такая реализация?
Есть элемент дерева, в нем одно из полей определяется в зависимости от полей левого и правого листа. Возможна ли такая реализация?
Конечно. Для этого в элементе дерева должны быть ссылки на левый и правый листы.
UPD
Это должно быть примерно так:
Элемент дерева хранит в себе три ссылки - на предка и двух потомков, если дерево бинарное. Иначе будет массив потомков. У корня предок всегда пустой, есть метод append, который добавляет потомка, левого или правого. В этом методе, пользуясь ссылкой на предка, установим ему потомка, то есть добавляемый элемент. На псевдоджавакоде примерно так:
class Elem {
Elem root;
Elem left;
Elem right;
Value value;
void append(Value value, Side side){
Elem elem = new Elem();
elem.value = value;
if(side == Left)
this.left = elem;
else
this.right = elem;
elem.root = this;
}
}
Разумеется, если потомков может быть больше двух, то надо использовать массив и вторым параметром в append будет что-то вроде индекса.
UPD UPD
Надеюсь, идея ясна, а то я тот ещё объясняльщик.