作成した構造体型の最小ヒープをC++で実装しようとしています。このタイプのベクトルを作成しましたが、make_heapを使用するとクラッシュしました。これは、ヒープ内のアイテムを比較する方法がわからないため、理解できます。構造体タイプの最小ヒープ(つまり、最上位の要素は常にヒープ内で最小の要素)を作成するにはどうすればよいですか?
構造体は以下のとおりです。
struct DOC{
int docid;
double rank;
};
ランクメンバーを使用してDOC構造を比較したいと思います。どうすればいいですか?
コンパレータクラスで優先度付きキューを使用しようとしましたが、それもクラッシュしました。また、本当に必要なのがヒープである場合に、基礎としてヒープを使用するデータ構造を使用するのもばかげているようです。
どうもありがとうございました、bsg