priority_queue (STL/CLR)
Описание объекта класса шаблона, что элементы управления менять- длина приказали последовательность элементов, имеет ограниченный доступ. Используется адаптер priority_queue контейнера для управления основной контейнер как очереди приоритета.
В описании ниже, GValue совпадает с Value если здесь не будет ссылочного типа, в случае которого это Value^. Аналогично, GContainer совпадает с Container если здесь не будет ссылочного типа, в случае которого это Container^.
template<typename Value,
typename Container>
ref class priority_queue
System::ICloneable,
Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
{ ..... };
Параметры
Значение
Тип элемента в управляемой последовательности.Контейнер
Тип базового контейнера.
Члены
Определение типа |
Описание |
---|---|
Тип постоянной ссылки на элемент. |
|
Тип базового контейнера. |
|
Тип расстояния со знаком между двумя элементами. |
|
Тип универсального интерфейса для адаптера контейнера. |
|
Тип элемента для универсального интерфейса для адаптера контейнера. |
|
Тип ссылки на элемент. |
|
Тип расстояния со знаком между двумя элементами. |
|
Порядок делегат для 2 элементов. |
|
Тип элемента. |
Функция Member |
Описание |
---|---|
Заменяет все элементы. |
|
Тесты отсутствуют ли какие-либо элементы. |
|
Осуществляет доступ к базовому контейнеру. |
|
Удаляет элемент hghest- приоритета. |
|
Создает объект контейнера. |
|
Добавляет новый элемент. |
|
Подсчитывает количество элементов. |
|
Получает элемент с самым высоким приоритетом. |
|
Копирует контролируемая последовательность в новый массив. |
|
Копирует делегат упорядочения для двух элементов. |
Свойство |
Описание |
---|---|
Получает элемент с самым высоким приоритетом. |
Оператор |
Описание |
---|---|
Заменяет контролируемая последовательность. |
Интерфейсы
Интерфейс |
Описание |
---|---|
Дублируйте объект. |
|
IPriorityQueue<Value, Container> |
Обслуживайте универсальный адаптер контейнера. |
Заметки
Объект выделяет и освобождает хранилище для последовательности его элементы управления через основной контейнер, типа Container, который хранит элементы Value и увеличивается по требованию. Он сохраняет последовательность упорядоченный как куча с элементом наивысшего приоритета (верхним элементом) легко доступен и удаляемым. Объект ограничивает доступ к отправлять новые элементы и извлечь только элемент с самым высоким приоритетом, реализующий очереди приоритета.
Объект сортирует последовательность его элементы управления путем вызова делегата сохраненный объект типа priority_queue::value_compare (STL/CLR). Можно определить, сохраненный объект делегата при построении priority_queue; если не указан ни один объект делегата, по умолчанию используется сравнение operator<(value_type, value_type). Чтобы открыть этот сохраненный объект, вызвав функцию-член priority_queue::value_comp (STL/CLR)().
Такой объект делегата должен создать строгого слабое упорядочение над значениями типа priority_queue::value_type (STL/CLR). Это означает, что для всех ключей, 2 X и Y:
value_comp()(X, Y) возвращает тот же логический результат при каждом вызове.
Если value_comp()(X, Y) выполняется, value_comp()(Y, X) должно быть значение.
Если value_comp()(X, Y) выполняется, считается, что приказано X перед Y.
Если !value_comp()(X, Y) && !value_comp()(Y, X) выполняется, считается, что имеют X и Y соответствующий заказ.
Для любого элемента X, предшествующего Y в контролируемой последовательности, key_comp()(Y, X) ложно. (Для объекта делегата, по умолчанию ключи никогда не уменьшает значение).
Элемент наивысшего приоритета таким образом один из элементов, не приказано перед любым другим элементом.
Поскольку основной контейнер сохраняет элементы упорядоченный как куча:
Контейнер должен поддерживать произвольного доступа являются итераторы.
Элементы с упорядочиванием эквивалента могут быть извлекается в другом порядке, чем они были переданных. (Порядок не стабилизирован).
Таким образом, являются кандидатами для основного контейнера являются deque (STL/CLR) и vector (STL/CLR).
Требования
Заголовок:<cliext/queue>
Пространство имен: cliext