Biblioteca C ++ - <deque>
Introducción
Deque es el acrónimo de Ddoble Eencontrado Queue. Es un contenedor de secuencia que puede cambiar su tamaño en tiempo de ejecución. El contenedor es un objeto que contiene datos del mismo tipo. Los contenedores de secuencia almacenan elementos estrictamente en secuencia lineal.
Los elementos de deque pueden estar dispersos en diferentes fragmentos de memoria. El contenedor almacena la información necesaria para permitir el acceso directo a cualquier elemento en tiempo constante. A diferencia de los vectores, no se garantiza que deque almacene todos sus elementos en ubicaciones de memoria contiguas. Por tanto, no permite el acceso directo a los datos compensando punteros. Pero permite el acceso directo a cualquier elemento usando el operador de subíndice [].
Deque puede encogerse o expandirse según sea necesario desde ambos extremos en tiempo de ejecución. El asignador interno cumple automáticamente el requisito de almacenamiento . Deque proporciona una funcionalidad similar a la de los vectores, pero proporciona una forma eficiente de insertar y eliminar datos desde cualquier extremo.
Los deques de tamaño cero también son válidos. En ese caso, deque.begin () y deque.end () apuntan a la misma ubicación. Pero el comportamiento de llamar a front () o back () no está definido.
Definición
A continuación se muestra la definición de std :: deque del archivo de encabezado <deque>
template < class T, class Alloc = allocator<T> > class deque;
Parámetros
T - Tipo de elemento contenido.
T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.
Alloc - Tipo de objeto asignador.
De forma predeterminada, se utiliza la plantilla de clase de asignador, que define el modelo de asignación de memoria más simple y es independiente del valor.
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 | allocator_type | Alloc (segundo parámetro de la plantilla) |
3 | referencia | tipo de valor& |
4 | referencia_const | const value_type & |
5 | puntero | tipo de valor* |
6 | puntero_const | const value_type * |
7 | iterador | un iterador de acceso aleatorio a value_type |
8 | const_iterator | un iterador de acceso aleatorio a const value_type |
9 | reverse_iterator | std :: reverse_iterator <iterador> |
10 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
11 | tipo de letra | size_t |
12 | tipo_diferencia | ptrdiff_t |
Funciones de <deque>
A continuación se muestra una lista de todos los métodos del encabezado <deque>.
Constructores
No Señor. | Método y descripción |
---|---|
1 | deque :: deque constructor predeterminado Construye una deque vacía con elemento cero. |
2 | deque :: deque fill constructor construya una nueva deque con n elementos y asigne val a cada elemento de deque |
3 | deque :: constructor de rango deque Construye una deque con tantos elementos como en el rango del primero al último . |
4 | deque :: deque copy constructor Construye una deque con copia de cada elemento presente en el contenedor existente. |
5 | deque :: deque move constructor Construye una deque con el contenido de otro usando semántica de movimiento. |
6 | deque :: deque constructor de lista de inicializadores Construye una deque a partir de la lista de inicialización. |
Incinerador de basuras
No Señor. | Método y descripción |
---|---|
1 | deque :: ~ deque Destruye el objeto deque deslocalizando su memoria. |
Funciones de miembro
No Señor. | Método y descripción |
---|---|
1 | deque :: asignar versión de rango Asigne nuevos valores a los elementos deque reemplazando los antiguos. |
2 | deque :: asignar versión de relleno Asigne nuevos valores a los elementos deque reemplazando los antiguos. |
3 | deque :: asignar la versión de la lista de inicializadores Asigne nuevos valores a los elementos deque reemplazando los antiguos. |
4 | deque :: en Devuelve una referencia al elemento presente en la ubicación n en la deque. |
5 | deque :: volver Devuelve una referencia al último elemento de la deque. |
6 | deque :: comenzar Devuelve un iterador de acceso aleatorio que apunta al primer elemento de la deque. |
7 | deque :: cbegin Devuelve un iterador de acceso aleatorio constante que apunta al comienzo de la deque. |
8 | deque :: cend Devuelve un iterador de acceso aleatorio constante que apunta al comienzo de la deque. |
9 | deque :: claro Destruye el deque eliminando todos los elementos del deque y establece el tamaño de deque en cero. |
10 | deque :: crbegin Devuelve un iterador inverso constante que apunta al inicio inverso del contenedor. |
11 | deque :: crend Devuelve un iterador inverso constante que apunta al final inverso de la deque. |
12 | deque :: emplace Extiende el contenedor insertando un nuevo elemento en la posición . |
13 | deque :: emplace_back Inserta un nuevo elemento al final de deque. |
14 | deque :: emplace_front Inserta un nuevo elemento al comienzo de deque. |
15 | deque :: vacío Comprueba si deque está vacío o no. |
dieciséis | deque :: fin Devuelve un iterador que apunta al elemento pasado-final en el contenedor deque. |
17 | deque :: borrar versión de posición Elimina un solo elemento del deque. |
18 | deque :: borrar versión de rango Elimina un solo elemento del deque. |
19 | deque :: frente Devuelve una referencia al primer elemento de la deque. |
20 | deque :: get_allocator Devuelve un asignador asociado con deque. |
21 | deque :: insertar versión de elemento único Extiende el contenedor insertando un nuevo elemento en la posición. |
22 | deque :: insertar versión de relleno Extiende el contenedor insertando un nuevo elemento en el contenedor. |
23 | deque :: insertar versión de rango Extiende el contenedor insertando un nuevo elemento en el contenedor. |
24 | deque :: insertar versión de movimiento Extiende el contenedor insertando un nuevo elemento en el contenedor. |
25 | deque :: insertar la versión de la lista de inicializadores Extiende el contenedor insertando un nuevo elemento en el contenedor. |
26 | deque :: tamaño_máximo Devuelve el número máximo de elementos que puede contener deque. |
27 | deque :: operador = copiar versión Asigne nuevos contenidos a la deque reemplazando los antiguos y modifique el tamaño si es necesario. |
28 | deque :: operador = mover versión Asigne nuevos contenidos a la deque reemplazando los antiguos y modifique el tamaño si es necesario. |
29 | deque :: operator = versión de la lista de inicializadores Asigne nuevos contenidos a la deque reemplazando los antiguos y modifique el tamaño si es necesario. |
30 | deque :: operador [] Devuelve una referencia al elemento presente en la ubicación n . |
31 | deque :: pop_back Elimina el último elemento del deque y reduce el tamaño del deque en uno. |
32 | deque :: pop_front Elimina el primer elemento del deque y reduce el tamaño del deque en uno. |
33 | deque :: push_back Inserta un nuevo elemento al final de deque y aumenta el tamaño de deque en uno. |
34 | deque :: push_back mover versión Inserta un nuevo elemento al final de deque y aumenta el tamaño de deque en uno. |
35 | deque :: push_front Inserta un nuevo elemento en la parte delantera de la deque y aumenta el tamaño de la deque en uno. |
36 | deque :: push_front mover versión Inserta un nuevo elemento en la parte delantera de la deque y aumenta el tamaño de la deque en uno. |
37 | deque :: rbegin Devuelve un iterador inverso que apunta al último elemento de la deque. |
38 | deque :: rend Devuelve un iterador inverso que apunta al final inverso de la deque. |
39 | deque :: redimensionar Cambia el tamaño de deque. |
40 | deque :: resize value version Cambia el tamaño de deque. |
41 | deque :: shrink_to_fit Solicita al contenedor que reduzca su capacidad para adaptarse a su tamaño. |
42 | deque :: tamaño Devuelve el número de elementos presentes en la deque. |
43 | deque :: intercambio Intercambia el contenido de deque con el contenido de otro deque x . |
Funciones sobrecargadas de no miembros
No Señor. | Método y descripción |
---|---|
1 | operador == Comprueba si dos deques son iguales o no. |
2 | operador! = Comprueba si dos deques son iguales o no. |
3 | operador < Comprueba si el primer deque es menor que otro o no. |
4 | operador <= Comprueba si el primer deque es menor o igual que otro o no. |
5 | operador> Comprueba si el primer deque es mayor que otro o no. |
6 | operador> = Comprueba si el primer deque es mayor o igual que otro o no. |
7 | intercambiar Intercambia el contenido de dos deque. |