как найти в контейнере set типа string состоящую из 9ти элементов, наибольшую строку и вывести ее?

не могли бы вы подсказать как найти в контейнере set типа string состоящую из 9ти элементов, наибольшую строку и вывести ее?


Ответы (1 шт):

Автор решения: Harry

Зависит от того, какой компаратор использует set - вдруг строки упорядочены, скажем, по длине, а не с помощью лексикографического сравнения?

Если все же с его лексикографической помощью, и в вашем условии наибольшая строка тоже имеется в виду "лексикографически наибольшая" - то для множества s просто за O(1)

*prev(s.end())

В общем случае, если компараторы различны - за O(N)

*max_element(s.begin(),s.end())

или с указанием третьим аргументом своего компаратора...

И не расстраивайте с самого утра, утверждая, что вы не знаете, как выводятся строки...

→ Ссылка