C ++中的矢量类可以像C#中的Dictionary类一样使用吗?您基本上可以拥有相同类型的矢量类存储类。该类的成员可以被视为密钥,其余成员可以被视为数据。
答案 0 :(得分:0)
不,在添加成员时,矢量类通常不会保持排序状态。这意味着您无法有效地查找其中的项目,您需要进行线性扫描。
将std::unordered_map
用于提供O(1)密钥查找的键值容器。
答案 1 :(得分:0)
在C ++中创建字典的好方法是使用map或unordered_map。由于map是关联容器,因此它具有键值对。密钥用于查找,值是与之关联的数据。所以在这种情况下,关键是单词,值将是定义。
我建议您使用unordered_map,因为查找速度平均为恒定时间,最差时为O(N)