Em Andamento

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

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.

Habilidades: Algoritmo, Programação C, Programação C#, Programação C++ , Java

Veja mais: type enough characters string, serial key type setup project vb net, modify currency type paypal, java, c# programming, c programming, c++ programming, algorithm, ensure class definition quotnavigationhistoryquot object operate loaded _before_ unserialize, modify content type joomla, modify question type limesurvey, css modify table within class, key touch sight definition, java key type simulator, modify module type joomla, smpp message type class flash, ups freight class definition, as3 flash input type class, modify database type joomla

Acerca do Empregador:
( 29 comentários ) Missouricity, United States

ID do Projeto: #16807111

1 freelancer está oferecendo em média $22 para esse trabalho

redraylight

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. Mais

$22 USD in 10 dias
(11 Comentários)
2.9