Compartir a través de


priority_queue Class

Una clase de adaptadores de contenedor de plantilla que proporciona una restricción de la funcionalidad que limita el acceso al elemento superior de algún tipo de contenedor subyacente, que siempre es el mayor o de prioridad máxima.Los nuevos elementos se pueden agregar al priority_queue y el elemento superior priority_queue puede ser inspeccionado o quitar.

template <
   class Type, 
   class Container=vector<Type>,
   class Compare=less<typename Container::value_type> 
>
class priority_queue

Parámetros

  • Tipo
    El tipo de datos del elemento que se almacene en el priority_queue.

  • Container
    El tipo del contenedor subyacente usado para implementar el priority_queue.

  • Comparar
    El tipo que proporciona un objeto de función que puede comparar dos valores de elemento como criterio de ordenación para determinar el orden relativo en el priority_queue.Este argumento es opcional y el contenedorbinario**:: value_type***>* de menos*<*typenamede predicado es el valor predeterminado.

Comentarios

Los elementos de la clase tipo estipulados en el primer parámetro de plantilla de un objeto de cola son sinónimos con value_type y deben coincidir con el tipo de elemento en la clase subyacente Contenedor de contenedor estipulado por el segundo parámetro de plantilla.tipo debe poderse asignar, de modo que es posible copiar objetos de ese tipo y asignar valores a variables de ese tipo.

El priority_queue pide la secuencia que controla llamando a un objeto almacenado de función de la clase rasgos.Los elementos suelen necesitar ser simplemente menos que comparables establecer este orden: para, con los dos elementos, poder determinar cualquiera que es equivalente (en el sentido de que ninguno es menor que otro) o que uno es menor que otro.Esto produce el orden entre los elementos distintos.En otra nota técnica, la función de comparación es un predicado binario que induce la ordenación parcial estricto en el sentido matemático estándar.

Las clases subyacentes adecuadas de contenedor para el priority_queue incluyen clase de deque y clase vector predeterminado o cualquier otro contenedor de secuencias que admite las operaciones de front, push_back, y pop_back y un iterador de acceso aleatorio.La clase subyacente del contenedor se encapsula dentro del adaptador de contenedor, que expone solo el conjunto limitado de las funciones miembro de contenedor de secuencias como interfaz pública.

Cómo agregar elementos a y quitar elementos de priority_queue ambos tienen complejidad logarítmica.El acceso a elementos en priority_queue tiene complejidad constante.

Hay tres tipos de adaptadores de contenedor definido por STL: pila, cola, y priority_queue.Cada limita la funcionalidad de alguna clase subyacente del contenedor para proporcionar una interfaz exacto controlada a una estructura de datos estándar.

  • clase de pila admite a), es fuera (LIFO) estructura de datos.Un buen análogo a recordar sería una pila de placas.Los elementos (placas) se pueden incrustar, inspeccionar, o quitar sólo desde la parte superior de la pila, que es el último elemento al final del contenedor base.La restricción a tener acceso solamente al elemento superior es la razón para usar la clase de la pila.

  • clase queue admite primero en entrar, es fuera (FIFO) estructura de datos.Un buen análogo a recordar sería personas que se alinean de un caso de bank.Los elementos (personas) se pueden agregar devuelva la línea y se quitan de delante de la línea.El principio y revertir de una línea pueden ser inspeccionados.La restricción a tener acceso los elementos sólo de anteriores y posteriores de esta manera es la razón para usar la clase queue.

  • La clase priority_queue ordena los elementos para que el elemento mayor esté siempre en la posición superior.Admite la inserción de un elemento y el examen y la eliminación del elemento superior.Un buen análogo a recordar sería personas que se alinean donde están organizados por edad, alto, o algún otro criterio.

4ef4dae9.collapse_all(es-es,VS.110).gifConstructores

priority_queue

Construye priority_queue que está vacío o que es una copia de un intervalo de un objeto contenedor base u otro priority_queue.

4ef4dae9.collapse_all(es-es,VS.110).gifTypedefs

container_type

un tipo que proporciona el contenedor base que se adaptará por priority_queue.

size_type

Un entero sin signo escribe que puede representar el número de elementos de priority_queue.

value_type

un tipo que representa el tipo de objeto almacenado como elemento en priority_queue.

4ef4dae9.collapse_all(es-es,VS.110).gifFunciones miembro

empty

Comprueba si priority_queue está vacío.

pop

Quita el elemento mayor de priority_queue de la posición superior.

push

Agrega un elemento a la cola de prioridad basándose en la prioridad del elemento de operator<.

size

Devuelve el número de elementos de priority_queue.

top

Devuelve una referencia const al elemento más grande en la parte superior de priority_queue.

Requisitos

encabezado: <Poner en cola>

espacio de nombres: std

Vea también

Referencia

Seguridad para subprocesos de la biblioteca estándar de C++

Biblioteca de plantillas estándar