Проблемы с функцией вставки для двоичной очереди с приоритетом минимальной кучиC++

Программы на C++. Форум разработчиков
Anonymous
Проблемы с функцией вставки для двоичной очереди с приоритетом минимальной кучи

Сообщение Anonymous »

Сейчас я решаю задачу, связанную с реализацией приоритетной очереди с использованием двоичной минимальной кучи. Пользователь вставляет значения при запуске, а затем имеет возможность вставить дополнительные значения, удалить минимальное значение или распечатать очередь приоритетов. У меня все реализовано, за исключением того, что я не могу правильно реализовать функцию вставки.
Мой код для файла реализации:

Код: Выделить всё

#include "PriorityQueue.hpp"
#include 

using namespace std;

PriorityQueue::PriorityQueue():arrSize(100), currentSize(0){
arr = new int[arrSize];
for(int i = 0; i arr[index]){
int temp = arr[index];
arr[index]=arr[parent];
arr[parent] = temp;
index=parent;
}
}

int PriorityQueue::deleteMin(){
int min = arr[1];
arr[1] = arr[currentSize];
currentSize--;
percolateDown(1);
return min;
}

void PriorityQueue::printQueue(){
for (int i = 1; i < currentSize+1; i++){
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/76133155/issues-with-insertion-function-for-binary-min-heap-priority-queue[/url]

Вернуться в «C++»