deque (Clase)

Organiza los elementos de un tipo determinado en una organización lineal y, como un vector, permite un acceso aleatorio rápido a cualquier elemento y, una inserción y eliminación eficaces al final del contenedor. Sin embargo, a diferencia de un vector, la clase deque también admite la inserción y la eliminación eficaces al principio del contenedor.

template <
    class Type, 
    class Allocator=allocator<Type> 
>
    class deque

Parámetros

  • Type
    Tipo de datos de elementos que se va a almacenar en deque.

  • Allocator
    Tipo que representa el objeto de asignador almacenado que encapsula los detalles acerca de la asignación y desasignación de memoria de deque. Este argumento es opcional y el valor predeterminado es allocator<Type>.

Comentarios

En general, la elección del tipo de contenedor se debe tomar según el tipo de búsqueda y de inserción que necesite la aplicación. Vectores debe ser el contenedor preferido para administrar una secuencia cuando el acceso aleatorio a cualquier elemento sea importante y las inserciones o eliminaciones de elementos solo sean necesarias al final de una secuencia. El rendimiento del contenedor lista es superior cuando las inserciones y eliminaciones eficaces (en tiempo constante) en cualquier ubicación dentro de la secuencia son importantes. Esas operaciones en medio de la secuencia requieren copias y asignaciones de elementos proporcionales al número de elementos de la secuencia (tiempo lineal).

La reasignación de deque se realiza cuando una función miembro debe insertar o borrar elementos de la secuencia:

  • Si un elemento se inserta en una secuencia vacía, o si un elemento se borra para dejar una secuencia vacía, los iteradores anteriores devueltos por begin y end dejan de ser válidos.

  • Si se inserta un elemento en la primera posición del deque, todos los iteradores, pero ninguna referencia, que designan elementos existentes dejan de ser válidos.

  • Si se inserta un elemento al final del deque, end y todos los iteradores, pero ninguna referencia, que designan elementos existentes dejan de ser válidos.

  • Si se borra un elemento al principio del deque, solo el iterador y las referencias al elemento borrado dejan de ser válidos.

  • Si se borra el último elemento del final del deque, solo el iterador al elemento final y las referencias al elemento borrado dejan de ser válidos.

De lo contrario, al insertar o borrar un elemento se invalidan todos los iteradores y referencias.

Constructores

deque

Construye un deque. Se proporcionan varios constructores para configurar el contenido del nuevo deque de maneras diferentes: vacío; cargado con un número especificado de elementos vacíos; contenido movido o copiado de otro deque; contenido copiado o movido mediante un iterador; y un elemento copiado en el deque _Count veces. Algunos de los constructores permiten usar un allocator personalizado para crear elementos.

Typedefs

allocator_type

Tipo que representa la clase allocator para el objeto deque.

const_iterator

Tipo que proporciona un iterador de acceso aleatorio que puede obtener acceso a elementos de deque como const y leerlos.

const_pointer

Tipo que proporciona un puntero a un elemento de deque como const.

const_reference

Tipo que proporciona una referencia a un elemento de deque para operaciones de lectura y de otro tipo como const.

const_reverse_iterator

Tipo que proporciona un iterador de acceso aleatorio que puede obtener acceso a elementos del deque como const y leerlos. El deque se ve en orden inverso. Para obtener más información, vea reverse_iterator (Clase)

difference_type

Tipo que proporciona la diferencia entre dos iteradores de acceso aleatorio que hacen referencia a elementos del mismo deque.

iterator

Tipo que proporciona un iterador de acceso aleatorio que puede leer o modificar cualquier elemento de deque.

puntero

Tipo que proporciona un puntero a un elemento de deque.

reference

Tipo que proporciona una referencia a un elemento almacenado en un deque.

reverse_iterator

Tipo que proporciona un iterador de acceso aleatorio que puede leer o modificar un elemento de deque. El deque se ve en orden inverso.

size_type

Tipo que cuenta el número de elementos de un deque.

value_type

Tipo que representa el tipo de datos almacenados en un deque.

Funciones miembro

assign

Borra elementos de un deque y copia una nueva secuencia de elementos al deque de destino.

at

Devuelve una referencia al elemento situado en una ubicación especificada del deque.

back

Devuelve una referencia al último elemento del deque.

begin

Devuelve un iterador de acceso aleatorio que direcciona el primer elemento del deque.

deque::cbegin

Devuelve un iterador constante al primer elemento del deque.

deque::cend

Devuelve un iterador const de acceso aleatorio que apunta justo después del final del deque.

clear

Borra todos los elementos de un deque.

deque::crbegin

Devuelve un iterador constante de acceso aleatorio al primer elemento de deque que se ve en orden inverso.

deque::crend

Devuelve un iterador constante de acceso aleatorio al primer elemento de deque que se ve en orden inverso.

deque::emplace

Inserta en una posición especificada del deque un elemento construido en contexto.

deque::emplace_back

Agrega un elemento construido en contexto al final del deque.

deque::emplace_front

Agrega un elemento construido en contexto al principio del deque.

empty

Devuelve true si el deque contiene cero elementos y false si contiene uno o más elementos.

end

Devuelve un iterador de acceso aleatorio que apunta justo después del final del deque.

erase

Quita un elemento o un intervalo de elementos de un deque de las posiciones especificadas.

front

Devuelve una referencia al primer elemento de deque.

get_allocator

Devuelve una copia del objeto allocator utilizado para construir el deque.

insert

Inserta un elemento, varios elementos o un intervalo de elementos en una posición especificada del deque.

max_size

Devuelve la longitud máxima posible del deque.

pop_back

Borra el elemento situado al final del deque.

pop_front

Borra el elemento situado al principio del deque.

push_back

Agrega un elemento al final del deque.

push_front

Agrega un elemento al principio del deque.

rbegin

Devuelve un iterador de acceso aleatorio al primer elemento de deque invertido.

rend

Devuelve un iterador de acceso aleatorio que apunta justo detrás del último elemento de deque invertido.

resize

Especifica un nuevo tamaño para un deque.

deque::shrink_to_fit

Descarta el exceso de capacidad.

size

Devuelve el número de elementos de deque.

swap

Intercambia los elementos de dos deque.

Operadores

operator[]

Devuelve una referencia al elemento del deque en una posición especificada.

deque::operator=

Reemplaza los elementos del deque con una copia de otro deque.

Requisitos

Encabezado: <deque>

Vea también

Referencia

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

Biblioteca de plantillas estándar

Otros recursos

miembros de <deque>

miembros de clase de deque