Find Jobs
Hire Freelancers

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

$10-25 USD

In Progress
Posted almost 6 years ago

$10-25 USD

Paid on delivery
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.
Project ID: 16807111

About the project

1 proposal
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
1 freelancer is bidding on average $22 USD for this job
User Avatar
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 in 10 days
5.0 (11 reviews)
2.9
2.9

About the client

Flag of UNITED STATES
Missouricity, United States
5.0
29
Payment method verified
Member since Jul 9, 2015

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.