Курсовая работа: Хэш поиск
1. Базируется на создании специальной процедуры просмотра всех элементов контейнера. В эту процедуру в качестве параметра передается имя функции или процедуры, реализующей требуемой обработки элемента контейнера.
2. Реализуется через определение итератора или класса итераторов, подходящего для данного вида контейнера.
Пример контейнерного класса:
TContainer = class
private
Arrs : array [1..100] ofTFigure; // массив полиморфных указателей
// на графические фигуры;
count : integer; // текущее число объектов в контейнере
public
constructor Create;
function GetCount : integer;
function Add (aFig : TFigure; ai : integer) : integer;
function Delete (ai : integer) : integer;
function Search (aFig : TFigure) : integer;
procedure ShowAll;
procedure MoveAll (dx, dy : integer);
procedureFreeAll;
end;
5.Описание классов
В данной объектной программе используется 3 класса:
· TItem
· TList
· TMas
Класс TItem хранит элемент вспомогательного линейного списка. Имеет в своем составе 2 закрытых свойства: Key – содержит ключ, Next – адрес на следующий элемент. Описание методов класса:
ConstructorCreate(aNext:TItem;aKey:string) - создание 1 элемента
function Getnext:TItem - дать адрес на след. элемент
procedure SetNext(aNext:TItem) - изменениеадреса
FunctionGetKey:string – возврат ключа
Класс TList представляет собой набор объектов класса TItem. Имеет в своем составе 1 свойство – Head, который является заголовком линейного списка.
Описание методов класса: