unordered-map相关内容

C ++错误:"unordered_map"未命名类型

据我所知,我正在正确地做所有事情,并且得到了错误消息: 错误:"unordered_map"未命名类型错误:"mymap"未命名类型 在我的代码中,我有: #include使用命名空间std;//全局变量unordered_mapmymap;mymap.reserve(7000);无效的主要{返回;} 我看不出这里可能缺少什么 ..
发布时间:2021-04-19 18:51:26 C/C++开发

如何更改unordered_map中的键?

我需要使用一个平均支持恒定时间查找的数据结构.我认为使用 std :: unordered_map 是一种很好的方法.我的数据是数字的“集合". | 115 | 190 | 380 | 265 | 这些数字不必按特定顺序排列.我需要大约 O(1)时间来确定此数据结构中是否存在给定的数字.我有一个使用 std :: unordered_map 的想法,它实际上是一个哈希表(我正确吗?).所以 ..
发布时间:2021-04-02 20:41:51 C/C++开发

为什么向量比unordered_map快?

我正在解决LeetCode上的一个问题,但没人能解释我的问题. 问题是这样的: 给出一个任意的赎金票据字符串和另一个包含来自所有杂志的信件的字符串,编写一个函数,如果可以从杂志中构造赎金票据,则该函数将返回true;否则,它将返回false. 杂志字符串中的每个字母在赎金记录中只能使用一次. 注意:您可能会假设两个字符串都只包含小写字母. canConstruct("a ..
发布时间:2021-04-02 20:27:36 C/C++开发

Unordered_Map查找时间

C ++库中的内置映射和集合(包括unordered_map和multimap)要求find函数(用于查找特定元素)使用迭代器遍历元素. C ++参考站点声称,使用这些数据结构查找元素平均需要花费恒定时间,这与常规哈希表非常相似.但是,迭代器在查找元素之前是否不必遍历整个列表,平均花费O(n)时间? 解决方案 您的陈述不正确: map,set,multimap和multiset通常被 ..
发布时间:2020-11-22 05:22:24 其他开发

无序映射:使用类成员函数指针的问题

我遇到了以下问题:我正在编写一个简单的chip8仿真器,并且具有大量的解释器函数类,我想通过操作码作为键来访问它们,例如字典.那是要替换庞大的开关盒,我知道为此目的,无序映射是一个很好的使用工具. 由于作用域的概念相同,因此这种方法仅适用于函数(由于它们的静态作用域),因此很容易使用,而不适用于类.我对指针和C ++本身有些陌生,并且不确定如何解决该问题(尝试了很多工作,例如使成员函数静态化 ..
发布时间:2020-11-11 19:51:35 C/C++开发

当T是基本类型时,std :: vector< T> :: clear()的复杂性是什么?

我知道clear()操作的复杂度在容器的大小上是线性的,因为必须调用析构函数。但是原始类型(和POD)呢?似乎最好的办法是将向量大小设置为0,以使复杂度恒定。 如果可能的话,std是否也可能:: unordered_map? 解决方案 似乎最好的方法是设置矢量大小 通常,将向量的大小调整为零与向量。因此,将 vector 的大小设置为零比调用 clear()没有优势-两者本 ..
发布时间:2020-10-07 00:17:24 其他开发

使用unordered_map,其中Key是T的成员

有没有什么好方法可以使用unordered_map,以便您可以在恒定时间内(平均情况)通过成员变量访问对象?下面的示例具有此功能,但需要将每个 Person 的名称复制为键: #include #include #include #include 类Person { publ ..
发布时间:2020-09-27 23:07:05 C/C++开发

没有匹配的成员函数可用于调用“插入”消息。 std :: unordered_map

我试图将字符串散列到指向指向字符串的无效函数的指针。尝试将我的键值对插入到地图中时出现以下错误: “没有匹配的成员函数可以调用” insert” 我不确定如何解释此错误。 我认为我是在传递错误 #include #include 使用命名空间std; void some_function(string arg ..
发布时间:2020-09-27 22:18:49 C/C++开发

以值作为参考的unordered_map

具有类型为引用C ++ 11的unordered_map是否合法? 例如 std :: unordered_map 我设法将其与VS2013一起编译,但是我不确定是否应该会导致一些奇怪的运行时错误。例如,当试图擦除一个元素时,会抛出矢量下标超出范围。 一些谷歌搜索导致发现您无法获得参考向量,但我找不到关于unordered_map ..
发布时间:2020-09-27 21:52:08 C/C++开发

unordered_map:哪种更快的find()或count()?

找出 unordered_map 容器是否具有带有指定键的项目的最快方法是什么? 解决方案 它们的性能差不多。您应该使用最能表达您要执行的操作的算法。 要对此进行详细说明,通常 count()将使用 find()实现。例如,在 libcxx 中, count()被实现为返回(find(__ k)!= end()); ..
发布时间:2020-09-27 20:13:43 C/C++开发

C ++ 11在unordered_map中获取一个存储桶的所有项

我们知道 std :: unordered_map :: bucket return桶是容器内部哈希表中的一个槽,根据其键的哈希值将元素分配给该槽。如何在返回存储区中获取begin-iterator和end-iterator?换句话说,我可以使用 bucket_count 来获取存储桶数,如何检测每个存储桶中的项目? 解决方案 您可以使用 std :: unordered_map :: b ..
发布时间:2020-09-27 19:49:01 其他开发