Biblioteca C ++ - <queue>

Introducción a la cola

La cola es una estructura de datos diseñada para operar en el contexto FIFO (Primero en entrar, primero en salir). En la cola, los elementos se insertan desde la parte trasera y se eliminan desde la parte delantera .

La clase de cola es un adaptador de contenedor. El contenedor es un objeto que contiene datos del mismo tipo. La cola se puede crear a partir de diferentes contenedores de secuencia. Los adaptadores de contenedor no admiten iteradores, por lo que no podemos usarlos para la manipulación de datos. Sin embargo, admiten funciones miembro push () y pop () para la inserción y eliminación de datos, respectivamente.

Definición

A continuación se muestra la definición de std :: queuer del archivo de encabezado <queue>

template <class T, class Container = deque<T> > class queue;

Parámetros

  • T - Tipo de elemento contenido.

    T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.

  • Container - Tipo de objeto contenedor subyacente.

Tipos de miembros

Los siguientes tipos de miembros se pueden utilizar como parámetros o tipos de retorno por funciones miembro.

No Señor. Tipos de miembros Definición
1 tipo de valor T (primer parámetro de la plantilla)
2 tipo de contenedor Segundo parámetro de la plantilla
3 tipo de letra size_t
4 referencia tipo de valor&
5 referencia_const const value_type &
6 tipo_diferencia ptrdiff_t

Funciones de <queue>

A continuación se muestra una lista de todos los métodos del encabezado <queue>.

Constructores

No Señor. Método y descripción
1 queue :: constructor predeterminado de queue

Construye un objeto de cola vacío, con cero elementos.

2 queue :: queue initialize constructor

Construye un objeto de cola y asigna un contenedor interno mediante una copia de ctnr .

3 queue :: constructor de movimiento de cola

Construye la cola con el contenido de otros usando semántica de movimiento.

4 queue :: constructor de copia de cola

Construye una cola con copia de cada uno de los elementos presentes en otra cola existente .

Incinerador de basuras

No Señor. Método y descripción
1 cola :: ~ cola

Destruye la cola al desasignar la memoria del contenedor.

Funciones de miembro

No Señor. Método y descripción
1 cola :: volver

Devuelve una referencia al último elemento de la cola.

2 cola :: emplazamiento

Construye e inserta un nuevo elemento al final de la cola.

3 cola :: vacía

Comprueba si la cola está vacía o no.

4 cola :: frente

Devuelve una referencia al primer elemento de la cola.

5 cola :: operador = copia de la versión

Asigna nuevos contenidos a la cola reemplazando los antiguos.

6 cola :: operador = mover versión

Asigna nuevos contenidos a la cola reemplazando los antiguos.

7 cola :: pop

Elimina el elemento frontal de la cola.

8 cola :: versión de copia push

Inserta un nuevo elemento al final de la cola.

9 cola :: empujar mover versión

Inserta un nuevo elemento al final de la cola.

10 cola :: tamaño

Devuelve el número total de elementos presentes en la cola.

11 cola :: intercambio

Intercambia el contenido de la cola con el contenido de otra cola.

Funciones sobrecargadas de no miembros

No Señor. Método y descripción
1 operador ==

Comprueba si dos colas son iguales o no.

2 operador! =

Comprueba si dos colas son iguales o no.

3 operador <

Comprueba si la primera cola es menor que otra o no.

4 operador <=

Comprueba si la primera cola es menor o igual que otra o no.

5 operador>

Comprueba si la primera cola es mayor que otra o no.

6 operador> =

Comprueba si la primera cola es mayor o igual que otra o no.

7 intercambiar

Intercambia el contenido de dos colas.

Introducción a priority_queue

La cola de prioridad es la estructura de datos de la cola que tiene prioridad. La cola de prioridad es análoga a la estructura de datos del montón donde el elemento se puede insertar en cualquier orden y siempre se recupera primero el elemento del montón máximo .

Definición

A continuación se muestra la definición de std :: priority_queue del archivo de encabezado <queue>

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

Parámetros

  • T - Tipo de elemento contenido.

    T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.

  • Container - Tipo de objeto contenedor subyacente.

  • Compare - Objeto de comparación que se utilizará para ordenar el priority_queue.

    Puede ser un puntero de función o un objeto de función que pueda comparar sus dos argumentos.

Tipos de miembros

Los siguientes tipos de miembros se pueden utilizar como parámetros o tipos de retorno por funciones miembro.

No Señor. Tipos de miembros Definición
1 tipo de valor T (primer parámetro de la plantilla)
2 tipo de contenedor Segundo parámetro de la plantilla
3 tipo de letra size_t
4 referencia tipo de valor&
5 referencia_const const value_type &
6 tipo_diferencia ptrdiff_t

Funciones de <queue>

A continuación se muestra una lista de todos los métodos del encabezado <queue>.

Constructores

No Señor. Método y descripción
1 Priority_queue :: priority_queue constructor predeterminado

Construye un priority_queue vacío con elemento cero.

2 Priority_queue :: priority_queue inicializar constructor

Construye un objeto priority_queue y asigna un contenedor interno mediante una copia de ctnr .

3 Priority_queue :: constructor de rango priority_queue

Construye una priority_queue con tantos elementos en el rango del primero al último.

4 priority_queue :: priority_queue mover constructor

Construye el priority_queue con el contenido de otro usando la semántica de movimiento.

5 Priority_queue :: priority_queue copia constructor

Construye un priority_queue con copia de cada elemento presente en otro priority_queue existente.

Incinerador de basuras

No Señor. Método y descripción
1 cola_prioridad :: ~ cola_prioridad

Destruye priority_queue desasignando la memoria del contenedor.

Funciones de miembro

No Señor. Método y descripción
1 Priority_queue :: emplace

Construye e inserta un nuevo elemento en orden de prioridad en priority_queue.

2 Priority_queue :: vacío

Comprueba si pritority_queue está vacío o no.

3 Priority_queue :: operator = copiar versión

Asigna nuevos contenidos a priority_queue reemplazando los antiguos.

4 Priority_queue :: operator = mover versión

Asigna nuevos contenidos a priority_queue reemplazando los antiguos.

5 Priority_queue :: pop

Elimina el elemento frontal de priority_queue.

6 Priority_queue :: versión de copia push

Inserta un nuevo elemento en orden.

7 Priority_queue :: empujar mover versión

Inserta un nuevo elemento en orden.

8 Priority_queue :: tamaño

Devuelve el número total de elementos presentes en priority_queue.

9 Priority_queue :: swap

Intercambia el contenido de priority_queue con el contenido de otro priority_queue.

10 Priority_queue :: top

Devuelve una referencia al primer elemento de priority_queue

Funciones sobrecargadas de no miembros

No Señor. Método y descripción
1 intercambiar

Intercambia el contenido de priority_queue con el contenido de otro priority_queue.