// Класс, представляющий словарь в виде хеш-таблицы
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;
};