繁体   English   中英

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

[英]Multi level hash/dictionary creation in C++

我有点迷路。 我有一个如下的csv文件

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

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

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

给出您的问题,您应该使用unordered_map ,它是C ++ 11中的标准功能,在以前的实现中非常常见。 如果性能不太重要(或地图很小),您也可以使用map 然后,您可以执行以下操作:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM