如何找到 std::set中最大的 int?

发布于 2024-08-03 01:48:28 字数 54 浏览 13 评论 0原文

我有一个 std::set,找到该集合中最大 int 的正确方法是什么?

I have a std::set<int>, what's the proper way to find the largest int in this set?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

饮湿 2024-08-10 01:48:28

您使用什么比较器?

对于默认情况,这将起作用:

if(!myset.empty())
    *myset.rbegin();
else
    //the set is empty

这也将是恒定时间,而不是像 max_element 解决方案那样是线性的。

What comparator are you using?

For the default this will work:

if(!myset.empty())
    *myset.rbegin();
else
    //the set is empty

This will also be constant time instead of linear like the max_element solution.

南风几经秋 2024-08-10 01:48:28

套装始终是有序的。假设您使用默认比较(较少),只需获取集合中的最后一个元素。 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.

不美如何 2024-08-10 01:48:28

我相信您正在寻找 std::max_element :

max_element() 函数返回一个
迭代器到最大元素
范围[开始,结束)。

I believe you are looking for std::max_element:

The max_element() function returns an
iterator to the largest element in the
range [start,end).

就此别过 2024-08-10 01:48:28

由于 set 默认按升序对元素进行排序,因此只需选取集合中的最后一个元素即可。

Since set sorts the element in ascending order by default, just pick up the last element in the set.

っ〆星空下的拥抱 2024-08-10 01:48:28
if(!myset.empty())
    *myset.rend();
else
    //the set is empty

在有序整数集中,最后一个元素是最大的元素。

if(!myset.empty())
    *myset.rend();
else
    //the set is empty

In an ordered integer set, the last element is the largest one.

淡莣 2024-08-10 01:48:28

setpush() 之前,将 int max 中的值保存到全局变量中

Before you push() in your set<int> save the value in int max in global variable

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文