Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.09;
Скачать: CL | DM;

Вниз

Пмогите нарисовать двоичное дерево!!!!   Найти похожие ветки 

 
daos ©   (2003-05-25 16:56) [0]

Есть
Type Ptr=^Node;
Node=record
Info=Char;
Llink,Rlink=Ptr;
End;




Выполняетс яобратный обход
procedure PR(t:ptr); {рекурсивный обход дерева}
begin if t<>nil then
begin
PR(t^.Llink); {обойти левое поддерево}
writeln(t^.info); {попасть в корень}
PR(t^.Rlink); {обойти правое поддерево}
end;
end;


Как нарисовать дерево через Canvas????
Пытаюсь так но работает через раз

Procedure Obhod(t:TPTree;st:byte);
var
po:TPoint;
begin if t<>nil then
begin
Obhod(t^.Left,1); {обойти левое поддерево}
SL.Add(IntToStr(t^.ident)+" = "+t^.discript); {попасть в корень}
if st=1
then begin
Po.X:=FMain.Canvas.PenPos.X;
Po.y:=FMain.Canvas.PenPos.y;
FMain.Canvas.MoveTo(FMain.Canvas.PenPos.X-40,FMain.Canvas.PenPos.y+50);
FMain.Canvas.TextOut(FMain.Canvas.PenPos.X,FMain.Canvas.PenPos.y," "+IntToStr(t^.Ident)+" ");
FMain.Canvas.LineTo(FMain.Canvas.PenPos.X+10,FMain.Canvas.PenPos.y-50);
end
else if st=0 then FMain.Canvas.TextOut(FMain.Canvas.PenPos.X,FMain.Canvas.PenPos.y," "+IntToStr(t^.Ident)+" ")
else if st=2 then begin
FMain.Canvas.LineTo(FMain.Canvas.PenPos.X+10,FMain.Canvas.PenPos.y+50);
FMain.Canvas.TextOut(FMain.Canvas.PenPos.X,FMain.Canvas.PenPos.y," "+IntToStr(t^.Ident)+" ");
end;
Obhod(t^.Right,2); {обойти правое поддерево}
end;
end;


 
daos ©   (2003-05-26 14:06) [1]

Неужели никто не знает????


 
daos ©   (2003-05-27 15:18) [2]

Сделал сам.



Страницы: 1 вся ветка

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
9-26329
MRB_SPB
2003-01-04 11:26
2003.06.09
Преобразования


14-26751
Мазут Береговой Рюрикович
2003-05-22 11:43
2003.06.09
Как заставить MS SQL Server 2000 понимать русский шрифт в данных?


1-26561
Kwan
2003-05-28 07:07
2003.06.09
Про DateTimePicker


14-26725
Tahion
2003-05-21 15:10
2003.06.09
корни кубические, чктвертой степени и т.д. до десятой


1-26485
sam-Lite
2003-05-29 09:04
2003.06.09
Как добраться до адреса с переменными какой-то пргоги.