[英]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.