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.
ColaDoble()
Crea una cola doble nueva que está vacía. No necesita parámetros y devuelve una cola doble vacía.agregarFrente(item)
añade un nuevo ítem al frente de la cola doble. Necesita el ítem y no devuelve nada.agregarFinal(item)
añade un nuevo ítem en el final de la cola doble. Necesita el ítem y no devuelve nada.removerFrente()
elimina el ítem que está en el frente de la cola doble. No necesita parámetros y devuelve el ítem. La cola doble se modifica.removerFinal()
elimina el ítem que está al final de la cola doble. No necesita parámetros y devuelve el ítem. La cola doble se modifica.estaVacia()
comprueba si la cola doble está vacía. No necesita parámetros y devuelve un valor booleano.tamano()
devuelve el número de ítems en la cola doble. No necesita parámetros y devuelve un entero.
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.
Operación de cola doble |
Contenido de la cola doble |
Valor devuelto |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|