如何设计查表的数据结构?用“多重组合”键表示查找表的数据结构
我基本上有如下表代表
Country Activity Legal_Age
European Drink 18
European Drive 21
American Drink 21
American Drive 18
这里我主要是(国家&活动)和值是Legal_age。
我想使用std :: map将这个问题分解成(如个别映射)如下。
national_Activity_age_map
European European_Activity_age_map
American American_Activity_age_map
European_Activity_age_map
Drink 18
Drive 21
American_Activity_age_map
Drink 21
Drive 18
但现在的问题是,作为列的原始表的数量不断增加,地图的数量被添加和保持不断增长。
比方说,美国选择为美国公民和非公民单独饮酒。然后我将不得不添加新的映射,并修改现有的映射。
是否有一个简单的&一个干净的方式来表示一个DataStructure中的这个数据,它接受一个多因子密钥并产生一个值?
有几个类似的问题,如下所示,但没有回答我的具体问题。 What datastructure would you use to represent this format of data?
更新: 我不能在工作中使用Boost功能,因为它必须移植(或类似的东西)。有没有我可以使用的C++(gcc 4.1.2)功能。
有助于说出您想查询哪些列。另外任何关于数据库模式设计的书都将涉及这个主题。 –
Brian:我在上面提到我的钥匙是(Country&Activity),价值是Legal_age。 –
地图<对<国家,活动>,年龄> –