I1M-0.1.0.0: Código de I1M.

LicenseCreative Commons
MaintainerJosé A. Alonso
Safe HaskellSafe
LanguageHaskell2010

I1M.Cola

Description

TAD (tipo abstracto de datos) de las colas.

Este módulo contiene el código del TAD de las colas estudiado en el tema 15 del curso.

Synopsis

Documentation

data Cola a Source

Tipo de las colas.

Instances

Eq a => Eq (Cola a) Source 
Show a => Show (Cola a) Source 

vacia :: Cola a Source

vacia es la cola vacía. Por ejemplo,

ghci> vacia
C []

inserta :: a -> Cola a -> Cola a Source

(inserta x c) es la cola obtenida añadiendo x al final de la cola c. Por ejemplo,

inserta 12 (foldr inserta vacia [1..10])  ==  C [10,9,8,7,6,5,4,3,2,1,12]

primero :: Cola a -> a Source

(primero c) es el primer elemento de la cola c. Por ejemplo,

primero (foldr inserta vacia [1..10])  ==  10

resto :: Cola a -> Cola a Source

(resto c) es la cola obtenida eliminando el primer elemento de la cola c. Por ejemplo,

resto (foldr inserta vacia [1..10])  ==  C [9,8,7,6,5,4,3,2,1]

esVacia :: Cola a -> Bool Source

(esVacia c) se verifica si c es la cola vacía. Por ejemplo,

esVacia (foldr inserta vacia [1..10])  ==  False
esVacia vacia                          ==  True

valida :: Cola a -> Bool Source

(valida c) se verifica si c representa una cola válida. Con esta representación, todas las colas son válidas.