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

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

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

> Поиск заданого элемента в бинарном дереве поиска
neic
сообщение 5.12.2007 0:11
Сообщение #1


Студент 3-к группы (ИГТК)
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Артём

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


Вот слепил из того что было.
Взял исходники с сайта volvo.

Ввожу с клавиатуры: 5 4 3 2 1
Не получается организовать поиск либо из-за того что я не правильно ввожу, или не правильно пользуюсь процедурой. Вот исходник:

uses CRT;
type
T = integer;

TTree = ^TNode;
TNode = record
value: T;
Left, Right: TTree;
end;

procedure Insert(var Root: TTree; X: T);

procedure CreateNode(var p: TTree; n: T);
begin
New(p);
p^.value := n;
p^.Left := nil;
p^.Right := nil
end;

begin
if Root = nil then CreateNode(Root, X)
else
with Root^ do begin
if value < X then Insert(Right, X)
else
if value > X then Insert(Left, X)
end;
end;

function Find(Root: TTree; X: T): TTree;
var p: TTree;
begin
if Root <> nil then begin
p := Root;
while p <> nil do begin
if X < p^.value then p := p^.Left
else
if X = p^.value then Break
else p := p^.Right
end;
Find := p
end
else find:=nil;


end;
var s: integer;
root,q: TTree;

begin
write('Введите любое число от 0 до 100. Конец ввода: 0 ');
repeat
readln(s);
Insert(root,s);
until s=0;

writeln('Введите значение которое хотите найти:');
read(s);
q:=Find(Root,s);

If q<>nil then writeln('Адрес найденого значения:',);

readkey

end.



--------------------
Жизнь - это лестница. Когда одна ступень проваливается, 2-ая нога находиться на второй ступеньке, а значит есть и второй шанс... ©
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 20.07.2025 14:35
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"