Modify the key type in the class definition to a string - 27/04/2018 21:40 EDT
$10-25 USD
Në vazhdim
Postuar almost 6 years ago
$10-25 USD
Paguhet në dorëzim
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.
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.