ConFoo 2025

The PriorityQueue class

(PECL ds >= 1.0.0)

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

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

Predefined Constants

Ds\PriorityQueue::MIN_CAPACITY

Table of Contents

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top