min_element
min_element (범위에서 최소 원소 찾기)
범위에서 가장 작은 원소를 가리키는 반복자를 찾는 알고리즘이에요. <algorithm> 헤더에 있어요.
출처: cppreference
본문
min_element는 범위 [first, last)에서 가장 작은 원소를 가리키는 반복자를 반환해요.
template< class ForwardIt >
ForwardIt min_element( ForwardIt first, ForwardIt last ); // (1)
비교기 버전도 있어요.
template< class ForwardIt, class Compare >
ForwardIt min_element( ForwardIt first, ForwardIt last, Compare comp ); // (2)
-
operator<로, 2)comp로 비교해요.
- 반환 값: 가장 작은 원소를 가리키는 반복자. 범위가 비어 있으면
last. - 복잡도:
last - first - 1번의 비교(정확히).
같은 최소값이 여럿이면 첫 번째 것을 가리켜요.
std::vector<int> v{3, 1, 4, 1, 5};
auto it = std::min_element(v.begin(), v.end());
int m = *it; // 1
std::min이 두 값/목록이라면, min_element는 임의 범위에서 최소값의 위치까지 찾아줘요. 커스텀 비교기로 기준을 바꿀 수도 있어요.