Добавление элемента в Tree<E>

161
17 марта 2018, 17:18

Добрый день. Задача "Создать элементарную структуру дерева". У меня возникли трудности с добавлением элемента, понимаю что возможно нужно как то рекурсивно проходить по дереву. Нужно найти в дереве элемент parent, если у него нет таких child, добавить ему входящий child. Тут root - это корень дерева.

public boolean add(E parent, E child) {
    if (root.eqValue(parent)) {            //если наш корень это parent
        if (!root.contain(child)) {       //и в нем нет такого child, добавляем в него child
            root.add(new Node<>(child));
            modCount++;
            return true;
        }
    } else {
        //если parent не корень, что делать?
    }
    return false;
}
Answer 1
private Boolean add(Node node, E parent, E child) {
  if (node.eqValue(parent)) { // если наш узел это parent
    if (!node.contain(child)) { // и в нем нет такого child, добавляем в него child
      node.add(new Node<>(child));
      modCount++;
      return true;  // Если добавили - вернем true
    } else
      return false;  // Если нашли, но не добавили - вернем false
  } else {
    for (Node childNode : node) {  // Цикл по всем потомкам
      Boolean res = add(childNode, parent, child);
      if (res != null)  // Если узел нашли
        return res;  // то выходим
    }
    // Если попали сюда, то ничего не нашли
    return null;
  }
}
public boolean add(E parent, E child) {
  // Пытаемся добавить в корень, а там как пойдет
  Boolean res = add(root, parent, child);
  return res != null;  // Если элемент был найден, вернем true
}
READ ALSO
Не удается установить мавен [требует правки]

Не удается установить мавен [требует правки]

Здравствуйте! Не получается установить мавен, подскажите пожалуйста, может не правильно что-то делаю? Так же создана папкаm2 по этому пути...

234
Почему не передаётся объект через intent?

Почему не передаётся объект через intent?

Подскажите, пожалуйста, почему не передаётся объект contact?

239
Open gl вопрос про текстурирование

Open gl вопрос про текстурирование

Здравствуйте, в интернете так и не смог найти на на такой вопрос ответ: Считываю obj файл, по нему формирую модель, вывожу на экран - все отлично...

246
Андроид. Всплывающий снизу меню

Андроид. Всплывающий снизу меню

Очень понравилась красивая меню в приложении StacExchange которое всплывает снизу когда нажимаешь на кнопку archivements сверхуКак такое же реализовать

186