The PriorityQueue class

Introduction

A PriorityQueue is very similar to a Queue. Values are pushed into the queue with an assigned priority, and the value with the highest priority will always be at the front of the queue.

Implemented using a max heap.

Note:

"First in, first out" ordering is preserved for values with the same priority.

Note:

Iterating over a PriorityQueue is destructive, equivalent to successive pop operations until the queue is empty.

Class synopsis

Ds\PriorityQueue
class Ds\PriorityQueue implements Ds\Collection {
/* Constants */
const int Ds\PriorityQueue::MIN_CAPACITY = 8;
/* Methods */
public void allocate(int $capacity)
public int capacity()
public void clear()
public Ds\PriorityQueue copy()
public bool isEmpty()
public mixed peek()
public mixed pop()
public void push(mixed $value, int $priority)
public array toArray()
}

Predefined Constants

Ds\PriorityQueue::MIN_CAPACITY

Table of Contents