C ++中的多级哈希/字典创建

时间:2014-04-28 11:59:41

标签: c++ dictionary hashmap hashtable

我有点失落。我有一个像以下

的csv文件
USN Name   DOB   Sem   Percentage
111 abc   07/03   3      88
112 cde   18/07   4      77
123 ghi   15/11   4      80

我想创建一种字典类型的结构(多级字典 - Dictionary <string, Dictionary<string, string>>) 使用C ++。在这里,我想将第一行存储为键,即USN,Name,DOB ...作为哈希的键和该列中的值作为哈希值。 可能吗? 任何帮助将不胜感激..提前致谢。

2 个答案:

答案 0 :(得分:0)

如果您定义的结构具有USN,Name,DOB,Sem,具有适当选择的数据类型的百分比,则USN(std :: string)可以是键,结构(Say MyStruct类型)可以是值。所以hash_map有字符串作为键,MyStruct作为值 typedef hash_map MyDictionary;应该做

答案 1 :(得分:0)

鉴于您的问题,您应该使用unordered_map,这是C ++ 11中的标准,在以前的实现中非常常见。如果性能不是太重要(或地图非常小),您也可以使用map。然后你可以这样做:

using namespace std;
unordered_map<string, unordered_map<string, string> > dict;

之后,这是一个解析CSV文件的问题......