在指定变量结构的 std::vector 中查找最大值
Posted
技术标签:
【中文标题】在指定变量结构的 std::vector 中查找最大值【英文标题】:Find max value in std::vector of structure of specified variable 【发布时间】:2021-09-17 10:12:28 【问题描述】:我有如下描述的结构向量:
struct Point
double x,y;
;
现在我有vector<Point>
,其中包含大约 2000 个元素。我想在Point
中找到包含变量y
最大值的元素。
我知道有 std::max_element 但我不知道它是否适用于存储在向量内部结构中的变量。
【问题讨论】:
std::max_element
我正在考虑在“请阅读一些文档”这一行留下一个尖刻的评论,但我决定写一个答案,不过……请阅读一些文档;)
【参考方案1】:
我不知道它是否适用于存储在向量内部结构中的变量。
是的。使用自定义比较器:
auto it = std::max_element(v.begin(),
v.end(),
[](const auto& a,const auto& b)
return a.y < b.y;
);
【讨论】:
我会使用:auto it = std::max_element(v.begin(),v.end(),[](const auto& a, const自动& b) return a.y以上是关于在指定变量结构的 std::vector 中查找最大值的主要内容,如果未能解决你的问题,请参考以下文章
查找 std::vector.at() 抛出 std::out_of_range 的位置