Deques en C++

De cppreference.com
Saltar a: navegación, buscar
#include <deque>
 
template< 
    class T, 
    class Allocator = std::allocator<T> 
> class deque;

Las colas doblemente terminadas o "deques" son estructuras de datos para gestionar colecciones, similares a los vectores pero con la posibilidad de inserciones y eliminaciones más rápidas tanto al inicio como al final de la colección.

Una deque se implementa como un conjunto de arrays que puede crecer en ambas direcciones, lo cual garantiza un tiempo de acceso constante amortizado, así como tiempo constante amortizado para insertar datos al inicio o final de la colección.

En la definición de una deque en C++, T es el tipo de datos coleccionado (por ejemplo, una deque<int> es una colección de enteros), y Allocator es un modelo de gestión de memoria para el tipo de datos T, y que puede omitirse por defecto.

[editar] Tipos Miembro

Tipo Miembro Definición
value_type T (el tipo de datos coleccionado)
allocator_type Allocator
size_type Entero sin signo para representar cantidad (usualmente size_t)
difference_type Entero con signo para representar distancia (usualmente ptrdiff_t)
reference Allocator::reference
const_reference Allocator::const_reference
pointer Allocator::pointer
const_pointer Allocator::const_pointer
iterator Iterador de acceso aleatorio escribible
const_iterator Iterador de acceso aleatorio constante
reverse_iterator reverse_iterator<iterator>
const_reverse_iterator reverse_iterator<const_iterator>

[editar] Funciones Miembro

std::deque implementa las siguientes funciones miembro:

Constructores y operadores relacionales
(constructor) construir un contenedor
operator= asignar un contenedor a otro
operadores de comparación comparar los contenidos de dos contenedores
Obtener información del contenedor
get_allocator retorna el Allocator asociado a un contenedor
empty determina si el contenedor está vacío
size retorna la cantidad de elementos
max_size retorna la máxima cantidad de elementos
Acceder a un elemento en específico
at acceso al elemento n-ésimo
operator[] acceso al elemento n-ésimo
front acceso al primer elemento
back acceso al último elemento
assign asignar un contenedor a otro
clear elimina todos los elementos
Agregar, eliminar o mover elementos
shrink_to_fit | libera la memoria desocupada(c++0x)
resize cambia la cantidad de elementos almacenada
insert inserta elementos
push_front inserta elementos al inicio
push_back inserta elementos al final
emplace (C++11)
emplace_front (C++11)
emplace_back (C++11)
erase elimina elementos
pop_front elimina el primer elemento
pop_back elimina el último elemento
swap intercambia este contenedor con otro
Iteradores
begin, cbegin iterador al inicio
end, cend iterador al final
rbegin, crbegin iterador reverso al final
rend, crend iterador reverso al inicio

[editar] Ver También

  • iterator -- modelos de iteradores; un iterador de deque es un iterador de acceso aleatorio.
  • vector y list -- contenedores similares.
Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas
Otros idiomas