Составители:
Рубрика:
Далее приведем пример использования модуля 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
- …
- следующая ›
- последняя »
