MinElement
이항 술어에 의해 순서 기준이 지정될 수 있는 지정된 범위에서 가장 작은 요소 중 처음 발견되는 것을 검색합니다.
template <class For>
For MinElement (
For first,
For last
);
template <class For, class BinPred>
For MinElement (
For first,
For last,
BinPred pred
);
Template 파라미터
- For
-
순방향 반복자입니다.
- BinPred
-
이항 술어(Binary predicate)입니다.
파라미터
- first
-
가장 큰 요소를 검색할 범위의 1번째 요소의 위치를 설명하는 순방향 반복자입니다.
- last
-
가장 큰 요소를 검색할 범위의 마지막 직전 요소의 위치를 설명하는 순방향 반복자입니다.
- pred
-
어떤 요소가 다른 요소보다 크다는 의미를 정의하는 사용자 정의 술어 함수 객체입니다.
이항 술어(binary predicate)는 2개의 인자를 취하며 1번째 요소가 2번째 요소보다 작다면 true를, 그 외에는 false를 리턴합니다.
리턴 값
검색할 범위의 가장 작은 요소가 처음 발생하는 위치를 설명하는 순방향 반복자입니다.
설명
MinElement는 범위 [first, last)의 가장 작은 요소를 검색합니다.
이것은 [first, last)에서 *i보다 더 작은 값을 가리키는 반복자가 없을 때 [first, last)의 1번째 반복자 i를 리턴합니다.
[first, last)가 비어 있는 범위일 경우에만 last를 리턴합니다.
MinElement의 2가지 버전은 어떤 요소가 다른 요소보다 작다는 것을 어떻게 정의하느냐에 따라 달라집니다.
1번째 버전은 operator<를 사용하여 객체들을 비교하고, 2번째 버전은 술어 pred를 사용하여 객체들을 비교합니다.
MinElement의 1번째 버전은 [first, last)의 모든 반복자 j에 대하여 *j < *i가 false일 때 [first, last)의 1번째 반복자 i를 리턴합니다.
MinElement의 2번째 버전은 [first, last)의 모든 반복자 j에 대하여 pred (*j, *i)가 false일 때 [first, last)의 1번째 반복자 i를 리턴합니다.
참고사항
알고리즘