问题标签 [stl-algorithm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - set_union 与多集容器?
当一个或两个输入容器是具有重复对象的多重集时,算法 std:set_union 的返回是什么?dup会迷路吗?
让我们假设例如:
输出会是什么?
c++ - 如何在给定数组中找到所有匹配的数字,总和为“N”
我的目标是找到总和为给定总数的所有可能组合。例如,如果数组是 2 59 3 43 5 9 8 62 10 4 并且总数是 12,那么可能的组合是
这是我编写的第一组代码。想知道可以对此进行的最佳改进。
c++ - 在类成员函数中声明和定义函数对象
我想知道是否以及如何在类成员函数中定义一个函数对象以直接使用它,例如 std::transform 函数。
我知道这个例子有点愚蠢,它只是为了展示我面临的问题。
文件“example.h”
文件“example.cpp”
自从我尝试直接在“example.cpp”中的成员函数内部实现函数对象以来,代码就没有被编译。我得到的错误信息是:
所以我认为在std::transform中使用struct“functor”时会出现问题。有人可以告诉我问题是什么吗?
使用:
Ubuntu Linux下的gcc-4.2编译器。
在此先感谢,
勒内。
c++ - 带有 set_intersection 的“向量迭代器不可递增”运行时错误
为什么此代码会导致运行时错误“向量迭代器不可递增”?
c++ - 提升 lambda 问题
这是我的代码示例。我想 for_each 一组 Foo 并生成一组 Foo 成员的类型,在本例中为 int。我不确定我做错了什么,但我肯定做错了什么。
TIA 为您提供帮助!
编辑:谢谢伙计们!工作代码如下...
c++ - deleteMin 和按键搜索的有效数据结构
我有 100 组 A 对象,每组对应一个查询点 Qi 1 <= i <= 100
,.
在我的算法的每次迭代中,我选择一个查询点 Qi 并从相应的集合中提取具有最小距离值的对象。然后,我必须在所有 100 个集合中找到这个特定对象,使用它的 id 进行搜索,然后删除所有这些对象。
如果我为每组对象使用一个堆,那么使用MIN(distance)
. 但是,我将无法在使用 id 搜索的其他堆中找到相同的对象,因为堆是使用距离值组织的。此外,更新堆是昂贵的。
我考虑过的另一个选择是map<id, (distance, x, y)>
为每组使用一个。这种按 id 搜索(查找操作)的方式很便宜。但是,提取具有最小值的元素需要线性时间(它必须检查地图中的每个元素)。
是否有任何我可以使用的对我需要的操作都有效的数据结构?
- extract_min(距离)
- 查找(ID)
提前致谢!
c++ - 为什么 STL 算法 for_each 两次调用我的仿函数的析构函数?
我正在试验 STL 算法,更具体的是使用 for_each 函数。我尝试了一个简单的用例来连接字符串向量。请注意,这可能不是一个好的和/或有效的代码。如果您真的想连接字符串向量,请查看 boost::algorithm::join 函数。
连接器类被实现为常规函子。
连接器.h:
连接器.cpp:
如果你编译并运行这个程序,你会得到以下输出:
concat hello to
concat world to hello
concat !!! to hello world
concatenator destructor called
concatenator destructor called
result =
concatenator destructor called
谁能解释为什么我不能从仿函数中提取正确的结果以及为什么多次调用析构函数。
c++ - 是否可以使用具有独立输入参数的函数来使用 STL for_each 算法?
目前我正在运行一个 for 循环,在该循环中我对 STL 容器中的每个元素进行调用,类似于以下内容。
我正在查看 for_each STL 算法,因为它似乎符合我的需要。
我想知道,考虑到对应用于容器的函数使用第二个输入参数,是否可以重构它以使用标准 STL 算法而不使用成员变量或其他漏洞?
c++ - 'equal' 模板函数是如何实现的?(谓词版本)
我正在阅读“Accelerated C++”一书,其中一项练习要求我们模拟标题中的“equal”函数,到目前为止,我已经实现了简单版本,它采用以下三个参数:
以及可以接受第四个参数的第二个版本...
我的问题是,这是理想的方法吗?还是这两个功能可以合并?
c++ - 排序自定义条件
好的,所以我尝试对项目的向量使用排序,所以两个相邻项目的大小是 <= 2d。所以这是我的尝试:
我做错了什么,或者甚至不可能使用这样的条件进行排序?