Шаблон Hash-функция для строки и целых чисел

Я создаю класс HashTable через шаблон. Хотя я не могу найти способ сохранить природу шаблона при работе со строками или любым числовым типом данных (более того, просто целыми числами). Это код, который у меня работает, пока HashKey имеет тип string.

template<typename HashKey>
size_t HashTable<HashKey>::myhash(const HashKey & x) const
{
unsigned int hashVal = 0;
for (unsigned int i = 0; i < x; i++)
hashVal = (hashVal << 5) ^ x[i] ^ hashVal;
return hashVal % hashTable.size();
};

Был бы какой-нибудь способ позволить этому работать, используя что-то вроде

unsigned int hashVal = 0;
hashVal = (hashVal << 5) ^ x ^ hashVal;
return hashVal % hashTable.size();

Любая помощь здесь?

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]