A classe PriorityQueue

(PECL ds >= 1.0.0)

Introdução

Uma PriorityQueue é muito semelhante a uma Queue. Valores são inseridos na fila com uma prioridade atribuída, e o valor com a maior prioridade estará sempre na frente da fila.

Implementado usando uma max heap.

Note:

A ordem "Primeiro a entrar, primeiro a sair" é preservada para valores com a mesma prioridade.

Note:

Iterar sobre uma PriorityQueue é destrutivo, equivalente a operações sucessivas de retirada até que a fila esteja vazia.

Resumo da classe

class Ds\PriorityQueue implements Ds\Collection {
/* Constantes */
const int MIN_CAPACITY = 8;
/* Métodos */
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
}

Constantes pré-definidas

Ds\PriorityQueue::MIN_CAPACITY

Table of Contents