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.