【发布时间】:2016-03-25 05:26:28
【问题描述】:
我有这个项目,我需要在其中实现一个哈希表。我有两个班级:粉丝和门票。粉丝可以拥有门票,每张门票都与粉丝的电子邮件相关联。
我的问题是,什么是关键,我应该在哪里实现我的哈希函数?我的猜测是它会在 Ticket.h 上,但我仍然不知道如何将门票与粉丝(所有者)电子邮件相关联。
我认为不需要任何代码,但如果有任何疑问,我会发布一些代码。
最好的问候
类迷(“Adepto”)
class Adepto {
int uid;
unordered_set<string> email;
static int newID;
string nome;
string nEquipa;
公开:
Adepto(string nome);
//Adepto(string nome, Equipa* e1, vector<Bilhete*> bilhetes);
Adepto();
unsigned int getID() const;
string getNome() const;
void setNome(string n);
string getEquipa() const;
void setEquipa(string nEq);
string getEmail() const;
void setEmail(string novoEmail);
机票等级(bilhete)
struct hash_adeptos{
int operator() (const Adepto &a1) const{
return a1.getEmail()().size(); }
bool operator() (const Adepto & a1, const Adepto & a2) const{
return a1.getEmail() == a2.getEmail();}
};
typedef tr1::unordered_set<Adepto, hash_adeptos, hash_adeptos> TabelaAdeptos;
class Bilhete{
TabelaAdeptos adeptos;
int uid;
static int newID;
date validade;
string dono;
bool vendido;
public:
Bilhete(date validade, string dono, bool vendido);
Bilhete();
int getID() const;
void setID(int id);
date getValidade() const;
void setValidade(date date);
string imprimeBilhete() const;
//Adepto* getDono() const;
//void setDono (Adepto &a1);
bool getEstado() const;
bool setVendido(Bilhete &b1);
};
【问题讨论】:
-
哈希表有什么用?你在哈希表中存储了什么?
-
现在考虑应用程序还应该管理观众,向球队的支持者销售电子门票。购买机票时,这与您的电子邮件地址中的买家相关联;其他数据也必须与门票相关联,如节目说明、支持者姓名和地址。门票信息存储在哈希表中。哈希表应包含与粉丝关联的门票信息。
标签: c++ algorithm data-structures hashtable