Find Jobs
Hire Freelancers

Modify the key type in the class definition to a string - 27/04/2018 21:40 EDT

$10-25 USD

En curso
Publicado hace alrededor de 6 años

$10-25 USD

Pagado a la entrega
Header below defines a class for simple hash table int hash(string key) { hashCode = 0; for (int i = 0; I < [login to view URL](); ++I) { hashCode = hashCode + I % key[I]; } hashIndex = hashCode % TABLE_SIZE; return hashIndex; ----------------------------------------------------------------------------------------------------------- #ifndef hashMap_h #define hashMap_h #include<iostream> #include<string> using namespace std; class HashEntry { public: int key; string value; HashEntry(int key, string value) { this->key = key; this->value = value; } }; //============================================ const int TABLE_SIZE = 11; class HashMap { private: HashEntry * *table; public: HashMap() { table = new HashEntry*[TABLE_SIZE]; for (int i = 0; i < TABLE_SIZE; i++) table[i] = nullptr; } bool find(int key, string& value) { // return value associated with key // return -1 if not found int hash = (key % TABLE_SIZE); while (table[hash] != nullptr && table[hash]->key != key) hash = (hash + 1) % TABLE_SIZE; //linear probe if (table[hash] == nullptr) return false; // not found else //table[hash]->key != key { value = table[hash]->value; return true; } } void insert(int key, string value) { //Insert <key, value> pair using hassh function int hash = (key % TABLE_SIZE); int count = 1; while (count < TABLE_SIZE && table[hash] != nullptr && table[hash]->key != key) { hash = (hash + 1) % TABLE_SIZE; ++count; } if (count >= TABLE_SIZE) { cout << " Hash table is full!!" << endl; return; } if (table[hash] != nullptr) delete table[hash]; table[hash] = new HashEntry(key, value); } void display() { // used for debugging purpose only to inspect what's in the map for (int i = 0; i < TABLE_SIZE; ++i) { if (table[i] == nullptr) { cout << "[" << i << ", Nil, Nil" << "]" << endl; } else { cout << "[" << i << ", " << table[i]->key << ", " << table[i]->value << "]" << endl; } } cout << endl; } ~HashMap() { for (int i = 0; i < TABLE_SIZE; i++) if (table[i] != nullptr) delete table[i]; delete[] table; } }; #endif /* hashMap_h */ 2. Modify the key type in the class definition to a string, e.g. phone number or e-mail address. Use the string hash function discussed in class or search online for alternative functions that work on strings.
ID del proyecto: 16807111

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 6 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
1 freelancer está ofertando un promedio de $22 USD por este trabajo
Avatar del usuario
Dear sir I have full experience of java and c program I read your description carefully I ever done similar problem in c++ I am full confident to complete your project and I do my best if you let me bid on yours. I focus on client's credit than money. I want to discuss more in detail. Thank you.
$22 USD en 10 días
5,0 (11 comentarios)
2,9
2,9

Sobre este cliente

Bandera de UNITED STATES
Missouricity, United States
5,0
29
Forma de pago verificada
Miembro desde jul 9, 2015

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.