繁体   English   中英

C ++中的矢量类可以像C#中的Dictionary类一样使用吗?

[英]Can a vector class in C++ be used like a Dictionary class in C#?

C ++中的矢量类可以像C#中的Dictionary类一样使用吗? 基本上,您可以拥有一个向量类存储相同类型的类。 该类的成员可以视为键,其余成员可以视为数据。

不,添加成员时,向量类通常不会保持排序。 这意味着您无法有效地在其中查找项目,需要进行线性扫描。

std::unordered_map用于提供O(1)键查找的键值容器。

用C ++制作字典的一种好方法是使用map或unordered_map。 由于地图是关联容器,因此它具有键,值对。 该键用于查找,其值是与之关联的数据。 因此,在这种情况下,键将是单词,值将是定义。

我建议您使用unordered_map,因为查找速度是平均恒定时间,最糟糕的是O(N)

暂无
暂无

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

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