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