如何找到 std::set中最大的 int?
我有一个 std::set
I have a std::set<int>
, what's the proper way to find the largest int in this set?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我有一个 std::set
I have a std::set<int>
, what's the proper way to find the largest int in this set?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
您使用什么比较器?
对于默认情况,这将起作用:
这也将是恒定时间,而不是像 max_element 解决方案那样是线性的。
What comparator are you using?
For the default this will work:
This will also be constant time instead of linear like the max_element solution.
套装始终是有序的。假设您使用默认比较(较少),只需获取集合中的最后一个元素。 rbegin() 可能有用。
Sets are always ordered. Assuming you are using the default comparison (less), just grab the last element in the set. rbegin() might be useful.
我相信您正在寻找
std::max_element
:I believe you are looking for
std::max_element
:由于 set 默认按升序对元素进行排序,因此只需选取集合中的最后一个元素即可。
Since set sorts the element in ascending order by default, just pick up the last element in the set.
在有序整数集中,最后一个元素是最大的元素。
In an ordered integer set, the last element is the largest one.
在
set
中push()
之前,将int max
中的值保存到全局变量中Before you
push()
in yourset<int>
save the value inint max
in global variable