# Класс SplPriorityQueue

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

## Введение

Класс SplPriorityQueue обеспечивает основные функциональные возможности приоритетной очереди, реализованный при помощи кучи с максимальным элементом наверху (max-heap).

> Замечание: Порядок элементов с одинаковым приоритетом не определён. Он может отличаться от порядка, в котором элементы были вставлены.

## Обзор класса

class SplPriorityQueue implements Iterator, Countable {
/* Константы */
public const int EXTR_BOTH;
public const int EXTR_PRIORITY;
public const int EXTR_DATA;
/* Методы */
public function compare(mixed `$priority1`, mixed `$priority2`): int
public function count(): int
public function current(): mixed
public function extract(): mixed
public function getExtractFlags(): int
public function insert(mixed `$value`, mixed `$priority`): true
public function isCorrupted(): bool
public function isEmpty(): bool
public function key(): int
public function next(): void
public function recoverFromCorruption(): true
public function rewind(): void
public function setExtractFlags(int `$flags`): int
public function top(): mixed
public function valid(): bool
}

## Предопределённые константы

`SplPriorityQueue::EXTR_BOTH`

`SplPriorityQueue::EXTR_PRIORITY`

`SplPriorityQueue::EXTR_DATA`

## Содержание

- SplPriorityQueue::compare — Сравнивает приоритеты для корректного помещения элементов в очередь
- SplPriorityQueue::count — Производит подсчёт элементов в очереди
- SplPriorityQueue::current — Возвращает текущий узел, на который указывает итератор
- SplPriorityQueue::extract — Извлекает узел из начала очереди и пересортирует её
- SplPriorityQueue::getExtractFlags — Получить флаги извлечения
- SplPriorityQueue::insert — Добавляет элемент в очередь и пересортирует её
- SplPriorityQueue::isCorrupted — Указывает, находится ли приоритетная очередь в повреждённом состоянии
- SplPriorityQueue::isEmpty — Проверяет, является ли очередь пустой
- SplPriorityQueue::key — Возвращает индекс текущего узла
- SplPriorityQueue::next — Переход к следующему узлу
- SplPriorityQueue::recoverFromCorruption — Восстанавливает корректное состояние очереди
- SplPriorityQueue::rewind — Переводит итератор на начало очереди
- SplPriorityQueue::setExtractFlags — Задаёт режим извлечения узлов
- SplPriorityQueue::top — Возвращает узел, находящийся в начале очереди
- SplPriorityQueue::valid — Проверяет, есть ли в очереди ещё элементы

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open