Я пытаюсь реализовать минимальную кучу в c ++ для типа структуры, которую я создал. Я создал вектор типа, но он потерпел крах, когда использовал на нем make_heap, что понятно, потому что он не знает, как сравнивать элементы в куче. Как создать мини-кучу (то есть верхний элемент всегда самый маленький в куче) для типа структуры?
Структура ниже:
struct DOC{
int docid;
double rank;
};
Я хочу сравнить структуры DOC, используя член ранга. Как бы я это сделал?
Я попытался использовать очередь приоритетов с классом компаратора, но он тоже потерпел крах, и также кажется глупым использовать структуру данных, которая использует кучу в качестве своей базовой основы, когда мне действительно нужно куча.
Большое спасибо,
BSG