IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Левопрошитое дерево, проблемы
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

Репутация: -  0  +


Основной принцип: левый - потомок, правый - брат.
Описание дерева:
 type
PTree=^TTree;
TTree=record
LL:PTree; {левый указатель - на потомка если True, на предка если False}
RL:PTree; {правый указатель - на братьев}
Key:string; {ключ}
Sign:boolean; {признак существования потомков}
end;

Если вершины нет, то создаем ее:
 if root=NIL then begin
new(root);
root^.LL:=root; {сам на себя - предков нет}
root^.RL:=NIL; {нет братьев}
root^.Key:='root';
root^.Sign:=false; {нет потомков}

Добавление... Вроде существует два варианта - либо это первый потомок, либо нет. Не выходит реализовать это условие unsure.gif
 procedure AddElem(chto:string; kuda:PTree);
begin
new(node);
if kuda^.Sign=false then begin
kuda^.LL:=node; {на сына }
kuda^.Sign:=true; {у kuda появился потомок}
node^.RL:=NIL; {у node нет братьев}
node^.LL:=kuda; {на отца}
node^.Key:=chto;
node^.Sign:=false; {у node нет потомков}
end
else begin
node:=kuda^.LL; {находим первого сына}
while node^.RL<>NIL do
begin node:=node^.RL; end; {продвигаемся по правой ветви}
node^.RL:=NIL;
node^.LL:=kuda;
node^.Key:=chto;
node^.Sign:=false;
end;
end;
.
Подскажите, плз, как с этим разобраться...

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 3:53
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name