Я новичок в С++. Я пытаюсь создать maxheap и minheap, используя std::priority_queue. Создание только maxheap работает нормально, но не то и другое. Я не могу понять ошибку. Я получаю следующую ошибку: не удалось преобразовать «minHeap» из «std::priority_queue, compare>» в «std::priority_queue». Пробовал искать в Интернете, но безрезультатно. Ниже приведен код.
void addNum(int num, priority_queue<int> maxHeap, priority_queue<int> minHeap) {
if (minHeap.size() == 0 || num > minHeap.top())
minHeap.push(num);
else if (num < minHeap.top())
maxHeap.push(num);
}
void createHeaps(vector<int> a) {
priority_queue<int> maxHeap;
priority_queue<int, vector<int>, greater<int> > minHeap;
for (int i = 0; i < a.size(); ++i) {
int num = a[i];
addNum(num, maxHeap, minHeap);
}
}
priority_queue<int, vector<int>, greater<int> >
неpriority_queue<int>
- person Kevin   schedule 03.10.2017priority_queue<int, vector<int>, greater<int> >
не того же типа, что иpriority_queue<int>
... - person Jarod42   schedule 03.10.2017