Graphisoft®

GSRootVersion: 1.0

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를 사용하여 객체들을 비교합니다.

참고사항

알고리즘