2

最近、自分のプロジェクトで Boost.Heap が非常に役立つことがわかりました。しかし、任意の比較関数を設定する方法を示すサンプル コードは見つかりませんでした。

#include "boost/heap/fibonacci_heap.hpp"

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

たとえば、std::greater< int > を設定するにはどうすればよいですか?

boost.heap ドキュメントには、オプションを設定することで設定できると書かれています。しかし、私はそれが何を意味するのか分かりません。誰でも助けることができますか?

4

1 に答える 1

4

これを試して:

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

ドキュメントには、オプションの指定方法が示されていません。単体テストのソース コードを調べて、正しい使用構文を見つける必要がありました。

于 2012-04-20T20:41:15.837 に答える