TAD de las colas - Transformaciones entre colas y listas
Utilizando el tipo abstracto de datos de las colas, definir las funciones
listaAcola :: [a] -> Cola a colaAlista :: Cola a -> [a]
tales que
-
listaAcola xs
es la cola formada por los elementos dexs
. Por ejemplo,
λ> listaAcola [3, 2, 5] 3 | 2 | 5
-
colaAlista c
es la lista formada por los elementos de la colac
. Por ejemplo,
λ> colaAlista (inserta 5 (inserta 2 (inserta 3 vacia))) [3, 2, 5]
Comprobar con QuickCheck que ambas funciones son inversa; es decir,
colaAlista (listaAcola xs) = xs listaAcola (colaAlista c) = c