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