簡體   English   中英

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

[英]How do I find the largest int in a std::set<int>?

我有一個std::set<int> ,在這個集合中找到最大的 int 的正確方法是什么?

你使用什么比較器?

對於默認值,這將起作用:

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

與max_element解決方案一樣,這也是恆定時間而不是線性時間。

總是訂購套裝。 假設您正在使用默認比較(less),只需抓取集合中的最后一個元素。 rbegin()可能很有用。

我相信你正在尋找std::max_element

max_element()函數返回一個迭代器,該迭代器是[start,end]范圍內的最大元素。

由於set默認按升序對元素進行排序,因此只需拾取集合中的最后一個元素即可。

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

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

set<int> push()之前,在全局變量中保存int max中的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM