is_heap_until
힙 정렬 조건을 충족하지 않는 [begin, end) 범위의 첫 번째 요소에 배치된 반복기를 반환하거나, 범위가 힙을 형성하는 경우에는 end를 반환합니다.
template<class RandomAccessIterator> RandomAccessIterator is_heap_until( RandomAccessIterator begin, RandomAccessIterator end ); template<class RandomAccessIterator, class BinaryPredicate> RandomAccessIterator is_heap_until( RandomAccessIterator begin, RandomAccessIterator end, BinaryPredicate compare );
매개 변수
begin
힙에 대해 확인할 범위의 첫 번째 요소를 지정하는 임의 액세스 반복기입니다.end
힙에 대해 확인할 범위의 끝을 지정하는 임의 액세스 반복기입니다.compare
힙을 정의하는 엄격한/약한 정렬 조건을 지정하는 이진 조건자입니다. compare를 지정하지 않는 경우의 기본 조건자는 std::less<>입니다.
반환 값
지정된 범위가 힙을 형성하거나 요소를 하나 이하로 포함하는 경우 end를 반복합니다. 그렇지 않으면 첫 번째로 발견된 힙 조건을 충족하지 않는 요소에 대한 반복기를 반환합니다.
설명
첫 번째 템플릿 함수는 [begin, end]의 마지막 반복기 next를 반환합니다. 여기서 [begin, next)는 std::less<> 함수 개체로 정렬되는 힙입니다. 거리가 end - begin < 2이면 함수는 end를 반환합니다.
두 번째 템플릿도 첫 번째 템플릿과 동일하게 동작하지만 힙 정렬 조건으로 std::less<>가 아닌 compare 조건자를 사용합니다.
요구 사항
헤더: <algorithm>
네임스페이스: std