priority queue one dimensional array
priority queue one dimensional array
if (pq->size == MAX) {
printf("Priority queue is full\n");
return;
}
pq->items[pq->size++] = value;
heapifyUp(pq, pq->size - 1);
}
int heapifyDown(PriorityQueue* pq, int index)
{
int smallest = index;
int left = 2 * index + 1;
int right = 2 * index + 2;
if (smallest != index) {
swap(&pq->items[index], &pq->items[smallest]);
heapifyDown(pq, smallest);
}
}
int dequeue(PriorityQueue* pq)
{
if (!pq->size) {
printf("Priority queue is empty\n");
return -1;
}
2
Assignment No.6
3
Assignment No.6
OUTPUT –