Файл dictionary.h

// Класс, представляющий словарь в виде хеш-таблицы

classHashDictionary

{

private:

static const intP = 557;

static const intQ = 811;

static const intLENGTH = 1000;

string *dict[1000]; // хранилище на 1000 слов

 

// Функция определяет код буквы как ее

// порядковый номер в латинском алфавите

static intcode(const charс);

 

public :

// Функция расстановки, основанная на сложении кодов

// букв со смещением, соответствующим их позиции

static inthash(conststring & str);

 

private:

 

// Внутренняя функция поиска позиции слова в словаре

intfindPos(conststring & word) const;

public :

// Конструктор записывает в словарь пустые ссылки

HashDictionary() { memset(dict, 0, sizeof (dict)); }

 

//Функция добавления слова в словарь. Если слово уже было

// в словаре, то второй раз оно в словарь не попадает

voidadd(conststring & word);

 

// Функция проверки наличия слова в словаре

boolhasWord(conststring & word) const;

};