3.16. El tipo abstracto de datos Cola Doble

El tipo abstracto de datos Cola Doble se define por la siguiente estructura y las siguientes operaciones. Una cola doble está estructurada, como se describió anteriormente, como una colección ordenada de ítems en la que se añaden y se retiran ítems de cualquier extremo, ya sea por el frente o por el final. Las operaciones de la cola doble se dan a continuación.

A modo de ejemplo, si asumimos que d es una cola doble que se ha creado y que está actualmente vacía, entonces la Tabla 1 muestra los resultados de una secuencia de operaciones sobre la cola doble. Tenga en cuenta que el contenido que está en el frente aparece listado a la derecha. Es muy importante hacer un seguimiento de los dos extremos, frente y final, a medida que se ingresan y retiran ítems de la colección ya que las cosas pueden tornarse un poco confusas.

Tabla 1: Ejemplos de operaciones sobre colas dobles
Operación de cola doble Contenido de la cola doble Valor devuelto
d.estaVacia() [] True
d.agregarFinal(4) [4]  
d.agregarFinal('perro') ['perro',4,]  
d.agregarFrente('gato') ['perro',4,'gato']  
d.agregarFrente(True) ['perro',4,'gato',True]  
d.tamano() ['perro',4,'gato',True] 4
d.estaVacia() ['perro',4,'gato',True] False
d.agregarFinal(8.4) [8.4,'perro',4,'gato',True]  
d.removerFinal() ['perro',4,'gato',True] 8.4
d.removerFrente() ['perro',4,'gato'] True
Next Section - 3.17. Implementación de una cola doble en Python