MakeHeap
지정된 범위의 요소들을 첫 번째 요소가 가장 크고 정렬 기준이 이항 술어로 지정될 수 있는 Heap로 변환합니다.
template <class Ran>
void MakeHeap (
Ran first,
Ran last
);
template <class Ran, class BinPred>
void MakeHeap (
Ran first,
Ran last,
BinPred pred
);
Template 파라미터
- Ran
-
랜덤 접근 반복자입니다.
- BinPred
-
이항 술어(Binary predicate)입니다.
파라미터
- first
-
Heap로 변환될 범위의 1번째 요소의 위치를 설명하는 랜덤 접근 반복자입니다.
- last
-
Heap로 변환될 범위의 마지막 직전 요소의 위치를 설명하는 랜덤 접근 반복자입니다.
- pred
-
어떤 요소가 다른 요소보다 작다는 의미를 정의하는 사용자 정의 술어 함수 객체입니다.
이항 술어(binary predicate)는 2개의 인자를 취하며 만족할 때에는 true를, 만족하지 않을 때에는 false를 리턴합니다.
설명
MakeHeap은 범위 [first, last)를 Heap로 바꿉니다.
MakeHeap의 2가지 버전들은 어떤 요소가 다른 요소보다 작다는 것을 어떻게 정의하느냐에 따라 다릅니다.
1번째 버전은 operator<를 사용하여 객체들을 비교하고, 2번째 버전은 술어 pred를 사용하여 객체들을 비교합니다.
참고사항
알고리즘