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

> Правила раздела!

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

 
 Ответить  Открыть новую тему 
> Добавление нового элемента в двоичное дерево поиск
сообщение
Сообщение #1


Гость






У кого-нить есть готовая рекурсивная функция для добавления элемента в двоичное дерево поиска?? (отсортированное... добавление не нарушая порядка...)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

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


Посмотрите по этому адресу:
FAQ: Динамические структуры данных (Деревья)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

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


О! Как раз то, что мне надо. Спасибо!!
А как на счет красивого вывода, хотя бы текстового с уровнями?
К примеру:
X1|-----------|
__X2|---------|
____X3|-------|
__X4|---------|

В общем так или иначе, спасибо за функции!


--------------------
Рассылка: "Решение Вами Предложенных Задач На Языке PASCAL. Алгоритмы на PASCAL."
Подписка по e-mail: comp.soft.prog.pascal123-sub@subscribe.ru
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

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


Цитата
В общем так или иначе, спасибо за функции!

Спасибо! Стараюсь!
Красивый вывод БУДЕТ!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

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


type
 TTree=^TNode;
 TNode = record
   Int : Integer;
   Left, Right : TTree;
 end;

var MyTree : TTree;

procedure Add(var Tree: TTree; i: integer);
begin
 if Tree <> nil then begin
   if Tree.Int < i then Add(Tree.Right,i)
   else if Tree.Int > i then Add(Tree.Left,i)
 end else begin
   new(Tree);
   Tree.Int:=i;
   Tree.Left:=nil;
   Tree.Right:=nil;
 end
end;

function TForm1.Find(var Tree: TTree; i: integer):boolean;
begin
 if Tree <> nil then begin
   if Tree.Int < i then Find(Tree.Right,i)
   else if Tree.Int > i then Find(Tree.Left,i)
   else if Tree.Int = i then ShowMessage('I found it!');
 end else ShowMessage('Tree is empty:(');
end;

......
Add(MyTree,5);
Add(MyTree,7);
... ... ...
Add(MyTree,3);
Find(MyTree,7);
......


При выполнении этого кода у меня в "поиске" выдается сообщение, что дерево пустое...
Оно пустое, скорее всего, из-за того, что указатель MyTree стоит уже не на вершине дерева, а на одном из "листов" дерева (одной из конечных точек дерева)...
Как мне поправить эту ситуацию?
Заводить ещё одну переменную для хранения адреса памяти вершины дерева?? Или есть другой способ...??


--------------------
Рассылка: "Решение Вами Предложенных Задач На Языке PASCAL. Алгоритмы на PASCAL."
Подписка по e-mail: comp.soft.prog.pascal123-sub@subscribe.ru
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

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


Цитата(Oleg_Z @ 14.04.04 16:33)
Спасибо! Стараюсь!
Красивый вывод БУДЕТ!

За ранее спасибо!!


--------------------
Рассылка: "Решение Вами Предложенных Задач На Языке PASCAL. Алгоритмы на PASCAL."
Подписка по e-mail: comp.soft.prog.pascal123-sub@subscribe.ru
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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