如何設計查表的數據結構?用「多重組合」鍵表示查找表的數據結構
我基本上有如下表代表
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。 –
地圖<對<國家,活動>,年齡> –