3. Interfaz
• Un objeto de tipo deque (pronunciado
quot;deckquot;) puede almacenar y brindar
acceso a una secuencia linear de
elementos.
• En este aspecto, un deque es similar a
un vector; las dos clases comparten
interfases de clase muy similares
Mtl. Lourdes Cahuich 3
5. Deques y vectores
• Ambas clases poseen constructores,
métodos de acceso de elementos,
métodos de inserción y eliminación y
soporte de iteradores, muy
similares.
• Los deques y vectores difieren, en
su capacidad de manejar inserciones y
eliminaciones de elementos del frente
de sus respectivas estructuras
Mtl. Lourdes Cahuich 5
6. Deques y vectores
• deben usar las funciones de la clase
miembro vector, insert y erase.
• Estas funciones sobrecargan el
elemento de copiado.
• La clase deque, por otro lado, provee
los métodos push_front and
pop_front.
Mtl. Lourdes Cahuich 6
7. Deques y vectores
• Estos métodos no sobrecargan el
elemento de copiado.
Mtl. Lourdes Cahuich 7
9. Deques y vectores
• La función count acepta un rango de
elementos en un contenedor (a través
de un iterador de inicio y fin) y un valor
para contar.
• La función regresa el número de
ocurrencias del valor dentro del rango
especificado.
Mtl. Lourdes Cahuich 9
10. Deques y vectores
• La función count_if usa una función
provista por el programador para
determinar si es contado un elemento
del rango especificado
Mtl. Lourdes Cahuich 10
12. Deques y vectores
• Para acomodar eficientemente
inserciones y eliminaciones de
elementos del frente y detrás, una
implantación deque se basa típicamente
en una serie de arreglos
Mtl. Lourdes Cahuich 12
13. Deques y vectores
• Comparando las estrategias de
almacenamiento de elementos entre los
dos contenedores es suficiente para
ilustrar la principal diferencia entre los
deques y los vectores.
Mtl. Lourdes Cahuich 13
14. Almacenamiento en deques y vectores
• La figura representa la forma en que los
elementos se almacenan en un vector
• En esta figura, sombreamos los cuadros que
representan los elementos del vector (el
tamaño) y los cuadros que no están
sombreados representan la memoria
reservada (la capacidad).
Mtl. Lourdes Cahuich 14
15. Almacenamiento en deques y vectores
• En este arreglo, insertar un elemento al
inicio del vector no es una tarea trivial
debido a que se requiere mover todos
los elementos para hacer espacio para
el nuevo elemento que se va a insertar.
Mtl. Lourdes Cahuich 15
16. Almacenamiento en deques y vectores
•Los deques reservan espacios de memoria al
frente y detrás de sus elementos almacenados.
•La figura ilustra esta diferencia fundamental
entre los vectores y deques.
Mtl. Lourdes Cahuich 16