priority_queue (STL/CLR)
La clase de plantilla describe un objeto que controla una secuencia ordenada variar-longitud de elementos con acceso restringido.Utiliza el adaptador priority_queue de contenedor para administrar un contenedor subyacente como cola de prioridad.
En la descripción siguiente, GValue es igual que Value a menos que este último es un tipo de referencia, en este caso es Value^.De igual forma, GContainer es igual que Container a menos que este último es un tipo de referencia, en este caso es Container^.
template<typename Value,
typename Container>
ref class priority_queue
System::ICloneable,
Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
{ ..... };
Parámetros
Valor
Tipo de un elemento de la secuencia controlada.Contenedor
Tipo del contenedor subyacente.
Members
Definición de tipo |
Descripción |
---|---|
El tipo de una referencia constante a un elemento. |
|
Tipo del contenedor subyacente. |
|
El tipo de una distancia firmados entre dos elementos. |
|
El tipo de interfaz genérica para el adaptador del contenedor. |
|
El tipo de un elemento de la interfaz genérica para el adaptador del contenedor. |
|
El tipo de una referencia a un elemento. |
|
El tipo de una distancia firmados entre dos elementos. |
|
El delegado de ordenación para dos elementos. |
|
El tipo de un elemento. |
Función miembro |
Descripción |
---|---|
Reemplaza todos los elementos. |
|
Comprueba si no hay elementos presentes. |
|
Tiene acceso al contenedor subyacente. |
|
Quita el elemento de la hghest-prioridad. |
|
Construye un objeto contenedor. |
|
Agrega un nuevo elemento. |
|
Cuenta el número de elementos. |
|
Tiene acceso al elemento de prioridad más alta. |
|
Copia la secuencia controlada a una nueva matriz. |
|
Copia el delegado de ordenación de dos elementos. |
Propiedad. |
Descripción |
---|---|
Tiene acceso al elemento de prioridad más alta. |
Operador |
Descripción |
---|---|
Reemplaza la secuencia controlada. |
Interfaces
Interfaz |
Descripción |
---|---|
Dupliquen un objeto. |
|
IPriorityQueue<valor, contenedor> |
Mantenga el adaptador genérico del contenedor. |
Comentarios
El objeto asigna y libera el almacenamiento de la secuencia que controla a través de un contenedor subyacente, de Containerescrito, que almacena los elementos de Value y crece a petición.Mantiene la secuencia ordenada como pila, con el elemento más prioritario (el elemento superior) fácilmente accesible y movible.El objeto limita el acceso a insertar nuevos elementos y a extraen solo el elemento prioridad, implementando una cola de prioridad.
El objeto pide la secuencia que controla llamando a un objeto almacenado de delegado de priority_queue::value_compare (STL/CLR)escrito.Puede especificar el objeto almacenado de delegado cuando se construye el priority_queue; si no especifica ningún objeto delegado, el valor predeterminado es la comparación operator<(value_type, value_type).Tiene acceso a este objeto almacenado llamando a la función priority_queue::value_comp (STL/CLR)()miembro.
Este tipo de objeto delegado debe imponer orden débil estricto sobre valores de priority_queue::value_type (STL/CLR)escrito.Es decir, para cualquier dos claves X y Y:
value_comp()(X, Y) devuelve el mismo resultado booleano en cada llamada.
Si value_comp()(X, Y) es true, el value_comp()(Y, X) debe ser false.
Si value_comp()(X, Y) es true, el X se secuenciado antes de Y.
Si !value_comp()(X, Y) && !value_comp()(Y, X) es true, el X y Y se dice que tienen orden equivalente.
Para cualquier elemento X que preceda Y en la secuencia controlada, key_comp()(Y, X) es false.(Para el objeto predeterminado de delegado, las teclas nunca disminuyen en valor.)
El elemento prioridad es uno de los elementos que no se ordena antes de ningún otro elemento.
Puesto que el contenedor subyacente mantiene los elementos pedidos como montón:
El contenedor debe admitir estos últimos.
Los elementos a la ordenación de equivalente se pueden extraen en un orden diferente que se insertarán.(El orden de no es estable.)
Así, los candidatos al contenedor subyacente incluyen deque (STL/CLR) y vector (STL/CLR).
Requisitos
encabezado: <cliext/cola>
Cliext deespacio de nombres: