Find Jobs
Hire Freelancers

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

$10-25 USD

进行中
已发布大约 6 年前

$10-25 USD

货到付款
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: 16807111

关于此项目

1条提案
远程项目
活跃6 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作
1威客以均价$22 USD来参与此工作竞标
用户头像
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 在10天之内
5.0 (11条评论)
2.9
2.9

关于客户

UNITED STATES的国旗
Missouricity, United States
5.0
29
付款方式已验证
会员自7月 9, 2015起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。