Составители:
Рубрика:
{ Модуль для работы с бинарными деревьями }
Unit
BinTree;
Interface
uses
GlobalBT;
const
NilBT = nil;
type
BinT = ^Node; { представление бинарного дерева }
{ тип Elem описан в GlobalBT }
Node = record { узел : }
Info : Elem; { = содержимое }
LSub : BinT; { = левое поддерево }
RSub : BinT { = правое поддерево }
end { Node };
function CreateBT : BinT;
function NullBT ( t : BinT ) : Boolean;
function
RootBT ( t : BinT ) : Elem;
function
LeftBT ( t : BinT ) : BinT;
function RightBT ( t : BinT ) : BinT;
function ConsBT ( e : Elem; LS, RS : BinT ) : BinT;
procedure DestroyBT ( var b : BinT );
procedure Otkaz ( n : Byte );
{-----------------------------------------------------------------------------------}
Implementation
...
end.
Рис. 3.10. Модуль для работы с бинарными деревьями
Часть Implementation модуля BinTree может иметь следующий вид:
Implementation
procedure
Otkaz ( n : Byte );
begin
Case n of
1 : Write ( 'ОТКАЗ : RootBT( Null_Bin_Tree ) !');
2 : Write ( 'ОТКАЗ : LeftBT( Null_Bin_Tree ) !');
3 : Write ( 'ОТКАЗ : RightBT( Null_Bin_Tree ) !');
4 : Write ( 'ОТКАЗ : исчерпана память !')
else Write ( 'ОТКАЗ : ?')
end;
Halt
end { Otkaz };
function CreateBT : BinT;
begin
CreateBT := nil
end { CreateBT };
57
{ Модуль для работы с бинарными деревьями }
Unit BinTree;
Interface
uses GlobalBT;
const
NilBT = nil;
type
BinT = ^Node; { представление бинарного дерева }
{ тип Elem описан в GlobalBT }
Node = record { узел : }
Info : Elem; { = содержимое }
LSub : BinT; { = левое поддерево }
RSub : BinT { = правое поддерево }
end { Node };
function CreateBT : BinT;
function NullBT ( t : BinT ) : Boolean;
function RootBT ( t : BinT ) : Elem;
function LeftBT ( t : BinT ) : BinT;
function RightBT ( t : BinT ) : BinT;
function ConsBT ( e : Elem; LS, RS : BinT ) : BinT;
procedure DestroyBT ( var b : BinT );
procedure Otkaz ( n : Byte );
{-----------------------------------------------------------------------------------}
Implementation
...
end.
Рис. 3.10. Модуль для работы с бинарными деревьями
Часть Implementation модуля BinTree может иметь следующий вид:
Implementation
procedure Otkaz ( n : Byte );
begin
Case n of
1 : Write ( 'ОТКАЗ : RootBT( Null_Bin_Tree ) !');
2 : Write ( 'ОТКАЗ : LeftBT( Null_Bin_Tree ) !');
3 : Write ( 'ОТКАЗ : RightBT( Null_Bin_Tree ) !');
4 : Write ( 'ОТКАЗ : исчерпана память !')
else Write ( 'ОТКАЗ : ?')
end;
Halt
end { Otkaz };
function CreateBT : BinT;
begin
CreateBT := nil
end { CreateBT };
57
Страницы
- « первая
- ‹ предыдущая
- …
- 55
- 56
- 57
- 58
- 59
- …
- следующая ›
- последняя »
