Проблемы с функцией вставки для двоичной очереди с приоритетом минимальной кучи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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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