2012-04-20 4 views
2

최근 Boost.Heap이 내 프로젝트에서 매우 유용하다는 사실을 발견했습니다. 그러나 임의의 비교 함수를 설정하는 방법을 보여주는 예제 코드를 찾을 수 없습니다. 나는 표준 : 큰 < INT를 설정하는 방법부스트 힙 사용자 정의 비교 기능 설정

예를 들어
#include "boost/heap/fibonacci_heap.hpp" 

using boost::heap::fibonacci_heap; 
int main(){ 
    fibonacci_heap<int> pq; //default compare function std::less<int> 
} 

>?

boost.heap 문서는 옵션을 설정하여 설정할 수 있다고 말합니다. 그러나 나는 그것이 무엇을 의미하는지 모른다. 누구든지 도와 줄 수 있습니까?

답변

4

이 시도 :

typedef boost::heap::fibonacci_heap< 
     int, 
     boost::heap::compare<std::greater<int> > > MyHeap; 

문서 옵션을 지정하는 방법을 보여주지 않습니다. 올바른 사용법을 알아 내기 위해 유닛 테스트 소스 코드를 파헤쳐 야했습니다.

+0

답변을 입력하고 정의하면 "템플릿 인수 2가 잘못되었습니다"라는 오류 메시지가 나타납니다. 코드를 복사하여 붙여 넣기 만하면됩니다. 내가 뭔가 잘못하고 있는거야? 시간 내 줘서 고마워. – Sungmin

+0

내 대답에 끝 괄호가 없습니다. 수정 된 답변 –

+0

이제 작동합니다! 고맙습니다. – Sungmin