Составители:
Рубрика:
Далее приведем пример использования модуля BinTree, в котором для вво-
да бинарного дерева из файла и вывода его на экран используется КЛП-обход
бинарного дерева, описанный в 3.4.
{ Пример работы с бинарными деревьями }
Uses BinTree;
var b : BinT;
Fin : Text;
function EnterBt : BinT;
{ ввод узлов в КЛП-порядке и построение бинарного дерева }
var c : Char;
begin
Read ( Fin, c );
if c = '/'
then EnterBT := NilBT {Create}
else EnterBT := ConsBT ( c, EnterBT, EnterBT )
end { EnterBT };
procedure OutBT( b : BinT );
{ вывод узлов бинарного дерева в КЛП-порядке }
begin
if not NullBT ( b ) then
begin
Write ( RootBT ( b ) );
OutBT ( LeftBT ( b ) );
OutBT ( RightBT ( b ) )
end
else
Write ('/')
end { OutBT };
procedure DisplayBT ( b : BinT );
{ вывод построчного и повернутого изображения бин. дерева}
begin
if NullBt ( b ) then { ? }
else
begin
Write ( RootBT ( b ) );
if not NullBT ( RightBT ( b ) ) then
begin
Write (' '); { вправо }
DisplayBT ( RightBT ( b ) );
Write (#8); Write (#8); { возврат влево }
end;
if not NullBT ( LeftBT ( b ) ) then
begin
59
Далее приведем пример использования модуля BinTree, в котором для вво- да бинарного дерева из файла и вывода его на экран используется КЛП-обход бинарного дерева, описанный в 3.4. { Пример работы с бинарными деревьями } Uses BinTree; var b : BinT; Fin : Text; function EnterBt : BinT; { ввод узлов в КЛП-порядке и построение бинарного дерева } var c : Char; begin Read ( Fin, c ); if c = '/' then EnterBT := NilBT {Create} else EnterBT := ConsBT ( c, EnterBT, EnterBT ) end { EnterBT }; procedure OutBT( b : BinT ); { вывод узлов бинарного дерева в КЛП-порядке } begin if not NullBT ( b ) then begin Write ( RootBT ( b ) ); OutBT ( LeftBT ( b ) ); OutBT ( RightBT ( b ) ) end else Write ('/') end { OutBT }; procedure DisplayBT ( b : BinT ); { вывод построчного и повернутого изображения бин. дерева} begin if NullBt ( b ) then { ? } else begin Write ( RootBT ( b ) ); if not NullBT ( RightBT ( b ) ) then begin Write (' '); { вправо } DisplayBT ( RightBT ( b ) ); Write (#8); Write (#8); { возврат влево } end; if not NullBT ( LeftBT ( b ) ) then begin 59
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »