Comment trouver le plus grand int dans un std :: set ?

J’ai un std::set , comment trouver le plus grand int dans cet ensemble?

Quel comparateur utilisez-vous?

Pour le défaut cela fonctionnera:

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

Ce sera aussi un temps constant au lieu de linéaire comme la solution max_element.

Les ensembles sont toujours commandés. En supposant que vous utilisez la comparaison par défaut (moins), saisissez simplement le dernier élément de l’ensemble. rbegin () pourrait être utile.

Comme set sortinge l’élément par défaut dans l’ordre croissant, il suffit de sélectionner le dernier élément de l’ensemble.

Je crois que vous recherchez std::max_element :

La fonction max_element() renvoie un iterator au plus grand élément de la plage [début, fin].

Avant de push() dans votre set enregistre la valeur dans int max en variable globale