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

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

本文关键字:一样 Dictionary 中的 向量 C++      更新时间:2023-10-16

C++中的向量类是否可以像C#中的Dictionary类一样使用?你基本上可以有一个向量类来存储相同类型的类。该类的一个成员可以被视为Key,其余成员可以被认为是数据。

不,添加成员时,向量类通常不会保持排序。这意味着你无法有效地在里面找到物品,你需要线性扫描。

对于提供O(1)键查找的键值容器,请使用std::unordered_map

在C++中制作字典的一个好方法是使用map或unordered_map。由于映射是一个关联容器,所以它有一个键、值对。关键字用于查找,值是与之相关的数据。因此,在这种情况下,关键字将是单词,值将是定义。

我建议您使用无序映射,因为查找速度是平均恒定时间,最坏情况下是O(N)