Клас PriorityQueue
(PECL ds >= 1.0.0)
Вступ
Черга з пріоритетом дуже схожа на звичайну чергу. Значення додаються в чергу із заданим пріоритетом, і значення з вищим пріоритетом завжди будуть ближче до початку.
Реалізовано з використанням максимальної купи.
Зауваження :
Порядок FIFO зберігається у значень із однаковим пріоритетом.
Зауваження :
Ітерація через чергу відбувається із видаленням взятого елемента. Еквівалентно використанню оператора pop, доки черга не стане порожньою.
Огляд класів
class Ds\PriorityQueue
implements
Ds\Collection {
/* Константы */
const
int
MIN_CAPACITY = 8;
/* Методы */
public allocate(int $capacity): void
public capacity(): int
public clear(): void
public copy(): Ds\PriorityQueue
public isEmpty(): bool
public peek(): mixed
public pop(): mixed
public push(mixed $value, int $priority): void
public toArray(): array
}
Обумовлені константи
Ds\PriorityQueue::MIN_CAPACITY
Зміст
- Ds\PriorityQueue::allocate— Виділяє пам'ять під зазначену місткість
- Ds\PriorityQueue::capacity— Повертає поточну місткість
- Ds\PriorityQueue::clear - Видаляє всі значення
- Ds\PriorityQueue::__construct - Створює новий екземпляр
- Ds\PriorityQueue::copy— Повертає поверхневу копію черги
- Ds\PriorityQueue::count— Повертає кількість елементів у черзі
- Ds\PriorityQueue::isEmpty— Перевіряє, чи колекція порожня.
- Ds\PriorityQueue::jsonSerialize— Повертає колекцію в JSON-виставу
- Ds\PriorityQueue::peek— Повертає значення з початку черги
- Ds\PriorityQueue::pop— Видаляє та повертає значення з найвищим пріоритетом
- Ds\PriorityQueue::push— Додає значення у чергу
- Ds\PriorityQueue::toArray - Перетворює чергу на масив (array)