Я вижу, вы только начиная с C++.
Вот широкий обзор того, что вам необходимо будет осуществить это самостоятельно:.
1) Так как вы знаете размер заранее, и вы не так хорошо знакомы с векторами, следует использовать массив заданного размера (Это будет вашей картой)
2) Теперь у вас есть 2 строки для хранения, соответствующие паре ключей и значений.
3) Вы должны решить, что это ключ, в зависимости от того, какое значение является уникальным в паре (Think)
4) Далее в детали реализации, вы просто не будет хранить ключ (строки) в качестве это. Вам нужно будет хэшировать его. Чтобы хэш это, вам нужна хэш-функция. Взгляните here Общая функция - использовать значение ascii каждого символа, , умноженное на его значение места в базе 256 (ASCII); ' modulo большое простое число ~~ размер вашего массива. Почему так? (Читайте по ссылке! Не слепо следуйте за ней, вы учитесь, а не взламываете :))
5) Теперь, как работают хеш-карты? Это значение, которое вы только что хэшируете, возвращает INT, что соответствует индексу вашего массива, где хранится VALUE соответствующего KEY (который мы просто HASHED для получения INDEX).
Звучит неплохо?
Сообщите мне, если вам нужна помощь!
Почему вы хотите реализовать свои собственные? Используйте ['std :: unordered_map'] (http://en.cppreference.com/w/cpp/container/unordered_map) – Praetorian
Мне нужно реализовать отпечаток пальца DHCP для каждого устройства. –
ОК, это объясняет. Продолжать. – Praetorian