16

我一直在 C# 中查找字典,它们似乎非常有用,并且想知道是否可以在 C++ 中使用它们,因为我试图在 C++ 中搜索字典,但似乎没有我的等价物可以找到。是否有某种库可以下载并包含到项目中,或者是否有一个函数可以用不同的名称做同样的事情。

4

4 回答 4

17

STL 中有一个对应的类型,叫做std::map.

它具有与 .NET Dictionary 相同的基本功能,但实现方式却大不相同。std::map内部基于红黑树数据结构,而Dictionary内部使用哈希表。

如果您只是在寻找具有相同行为的东西,那么std::map可以,但是如果您有大量数据,则必须了解不同的性能特征。

于 2013-05-07T11:07:18.017 回答
8

std::map对数访问时间(通常基于树实现)和std::unordered_map(自 C++11 起)预期恒定、最坏情况线性访问时间(通常基于散列实现)。

于 2013-05-07T11:14:18.057 回答
6

std::map就像一个Dictionary.

于 2013-05-07T11:07:07.497 回答
0

我们可以在 C++ 中使用 map 使用 map 的基本格式是 -

    std::map<Key_type, Value_Type> ;

例子 -

    std::map<std::string,std::string> x = {{"A","ABC"},{"B","DEF"}}
于 2018-07-10T12:31:05.763 回答