max_element

max_element (범위에서 최대 원소 찾기)

범위에서 가장 큰 원소를 가리키는 반복자를 찾는 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

max_element는 범위 [first, last)에서 가장 큰 원소를 가리키는 반복자를 반환해요.

template< class ForwardIt >
ForwardIt max_element( ForwardIt first, ForwardIt last );   // (1)

비교기 버전도 있어요.

template< class ForwardIt, class Compare >
ForwardIt max_element( ForwardIt first, ForwardIt last, Compare comp );   // (2)
    1. operator<로, 2) comp로 비교해요.
  • 반환 값: 가장 큰 원소를 가리키는 반복자. 범위가 비어 있으면 last.
  • 복잡도: last - first - 1번의 비교(정확히).

같은 최대값이 여럿이면 첫 번째 것을 가리켜요.

std::vector<int> v{3, 1, 4, 1, 5};
auto it = std::max_element(v.begin(), v.end());
int m = *it;   // 5

std::max가 두 값/목록이라면, max_element는 임의 범위에서 최대값의 위치까지 찾아줘요. 조건부 비교(비교기)로 커스텀 기준의 최대 원소도 찾을 수 있어요.

더 알아보기 (Learn more)

cppreference