TAD de las colas: Máximo elemento de una cola

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que maxCola c sea el mayor de los elementos de la cola c. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Reconocimiento de ordenación de colas

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que ordenadaCola c se verifica si los elementos de la cola c están ordenados en orden creciente. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Reconocimiento de subcolas

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que subCola c1 c2 se verifica si c1 es una subcola de c2. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Reconocimiento de prefijos de colas

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que prefijoCola c1 c2 se verifica si la cola c1 es justamente un prefijo de la cola c2. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Inclusión de colas

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que contenidaCola c1 c2 se verifica si todos los elementos de la cola c1 son elementos de la cola c2. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Pertenencia a una cola

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que perteneceCola x c se verifica si x es un elemento de la cola c. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Agrupación de colas

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que agrupaColas [c1,c2,c3,...,cn] es la cola formada mezclando las colas de la lista como sigue: mezcla c1 con c2, el resultado con c3, el resultado con c4, y así sucesivamente. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Intercalado de dos colas

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que intercalaColas c1 c2 es la cola formada por los elementos de c1 y c2 colocados en una cola, de forma alternativa, empezando por los elementos de c1. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Extensión de colas

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que extiendeCola c1 c2 es la cola que resulta de poner los elementos de la cola c2 a continuación de los de la cola de c1. Por
ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Alguno de los elementos verifican una propiedad

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que algunoVerifica p c se verifica si alguno de los elementos de la cola c cumplen la propiedad p. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Todos los elementos verifican una propiedad

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que todosVerifican p c se verifica si todos los elementos de la cola c cumplen la propiedad p. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Longitud de una cola

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que longitudCola c es el número de elementos de la cola c. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Último elemento

Utilizando el tipo abstracto de datos de las colas, definir la función

tal que ultimoCola c es el último elemento de la cola c. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

TAD de las colas: Transformaciones entre colas y listas

Utilizando el tipo abstracto de datos de las colas, definir las funciones

tales que

  • listaAcola xs es la cola formada por los elementos de xs. Por ejemplo,

  • colaAlista c es la lista formada por los elementos de la cola c. Por ejemplo,

Comprobar con QuickCheck que ambas funciones son inversa; es decir,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell