Основы программирования. Динамические массивы. Списки. Ассоциативные массивы. Деревья. Хеш-таблицы - 42 стр.

UptoLike

Составители: 

44
procedure Exclude(x: DataType); // удалить x
// принадлежит ли элемент множеству
function Contains(x: DataType): boolean;
end;
implementation
constructor DataSet.Create;
begin
root:=nil;
end;
destructor DataSet.Destroy;
begin
IntBST.Destroy(root);
end;
procedure DataSet.Include(x: DataType);
begin
IntBST.Add(x,root);
end;
procedure DataSet.Exclude(x: DataType);
begin
IntBST.Delete(x,root);
end;
function DataSet.Contains(x: DataType): boolean;
begin
Result := BST.Search(x,root)<>nil;
end;
end.
Указывать имя модуля IntBST перед именем вызываемой функции не обя-
зательно, однако мы это делаем с целью подчеркнуть, что
процедуры Add,
Delete, Search и Destroy вызываются из другого модуля.
4.4 Ассоциативный массив на базе БДП
Ассоциативный массив можно сделать не только на базе списка, но и на базе
бинарного дерева поиска. Для этого в TNode для дерева достаточно определить
два поля данных вместо одного: Key и Value:
type
KeyType=string;
ValueType=integer;
PNode=^TNode;