gpt4 book ai didi

vector - 比较 C++ std::vector 的元素

转载 作者:行者123 更新时间:2023-11-28 07:27:32 24 4
gpt4 key购买 nike

我有一个 double 值的 std::vector。现在我需要知道两个连续的元素是否在一定距离内以便处理它们。 我之前使用 std::sort 对 vector 进行了排序。
我考虑过使用 std::find_if 和 lambda 表达式 (c++11) 确定这些元素的解决方案,如下所示:

std::vector<std::vector<double>::iterator> foundElements;
std::vector<double>::iterator foundElement;
while (foundElement != gradients.end())
{
foundElement = std::find_if(gradients.begin(), gradients.end(),
[] (double grad)->bool{
return ...
});
foundElements.push_back(foundElement);
}

但是谓词实际上应该返回什么?计划是我使用迭代器的 vector 稍后修改 vector 。
我使用这种方法是在正确的轨道上还是太复杂/不可能?还有哪些其他可能更实用的解决方案?

编辑:我想我会按照一位回答者的建议,使用 std::adjacent_find 函数。

最佳答案

阅读关于 std::adjacent_find 的内容。

关于vector - 比较 C++ std::vector 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18453190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com