Задачу решил , но скорее интуитивно и методом перебора и немного подсмотрел в гугле :) не совсем понятно как это работает (
может я что забыл или пропустил)
public boolean add (String s) {
Entry<String> entry = new Entry<>(s);
Entry<String> p;
for (int i = 0; i < treeList.size(); i++) {
p = treeList.get(i);
if (entry.isAvailableToAddChildren()){
if (p.availableToAddLeftChildren) {
p.availableToAddLeftChildren = false;
p.leftChild = entry;
entry.parent = p;
treeList.add(entry);
size++;
return true;
} ........
вот этих
p.leftChild = entry;
entry.parent = p;
p - это переменная ссылочного типа класса Entry
leftChild - это переменная ссылочного типа класса Entry
entry - это переменная ссылочного типа класса Entry
буду очень благодарен если объясните по подробнее как это работает.
Спасибо
VitalyK #1116124
1 уровень
Объясните пожалуйста
Решен
Комментарии (10)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
27 апреля 2021, 09:24
0
VitalyK #1116124
27 апреля 2021, 10:53
Спасибо. мне немножко не привычно сам синтаксис
p.leftChild = entry;
entry.parent = p;
что через точку можно обозначать старшинство узла. Я вроде такого еще не встречал.
0
hidden #2322530
27 апреля 2021, 11:18
это просто переменные, что ты в них закладываешь, уже твое дело.
0
Vadim Zakirov Java Developer
30 мая 2021, 10:40
А что за список с узлами, откуда он?
0
hidden #2322530
30 мая 2021, 10:42
самый обычный ArrayList, в котором хранятся Entry (узлы), при добавлении узла добавляешь в этот список, иначе убираешь.
А уже каждый узел знает с какими другими узлами он связан. (родитель и дети)
0
Vadim Zakirov Java Developer
30 мая 2021, 10:46
Вместо него же можно очередь использовать?
0
hidden #2322530
30 мая 2021, 10:57
нельзя. зачем в этом тебе очередь?
если задача состоит просто в хранении данных.
0
Vadim Zakirov Java Developer
30 мая 2021, 17:51
везде рекомендуют стек или очередь, или я уже запутался
0
hidden #2322530
30 мая 2021, 18:27
здесь просто хранение элементов. а стек или очередь это для другого.
0
Vadim Zakirov Java Developer
1 июня 2021, 19:10
Все, я решил. Ну правильно, очередь в add нам нужна чтобы при наличии ребенка, а именно если available стоит false, запихнуть его в очередь, чтобы потом он к нам пришел и мы уже у этого ребенка проверили детей, и также с его детьми.
0