ranges::max_element

ranges::max_element (범위 최대 원소 — ranges)

범위에서 가장 큰 원소의 위치를 찾는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

std::ranges::max_element는 범위에서 가장 큰 원소를 가리키는 반복자를 반환해요.

namespace std::ranges {
template< class R, class Proj = std::identity,
          std::indirect_strict_weak_order<std::projected<ranges::iterator_t<R>, Proj>>
              Comp = ranges::less >
constexpr ranges::borrowed_iterator_t<R>
    max_element( R&& r, Comp comp = {}, Proj proj = {} );
}
  • 반환 값: 가장 큰 원소 반복자. 범위가 비어 있으면 last.
  • 복잡도: N - 1번의 비교.
std::vector<int> v{3, 1, 4, 1, 5};
auto it = std::ranges::max_element(v);
int m = *it;   // 5

최대값의 위치까지 찾아주는 ranges 버전이에요. 투영 proj로 커스텀 기준도 지원해요.

더 알아보기 (Learn more)

cppreference