I1M-0.2.0: Code for the Haskell course taught at the University of Seville.
LicenseCreative Commons
MaintainerJosé A. Alonso
Safe HaskellSafe-Inferred
LanguageHaskell2010

I1M.Pila

Description

TAD (tipo abstracto de datos) de las pilas.

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

Synopsis

Documentation

data Pila a Source #

Tipo de dato de las pilas.

Instances

Instances details
Show a => Show (Pila a) Source # 
Instance details

Defined in I1M.Pila

Methods

showsPrec :: Int -> Pila a -> ShowS #

show :: Pila a -> String #

showList :: [Pila a] -> ShowS #

Eq a => Eq (Pila a) Source # 
Instance details

Defined in I1M.Pila

Methods

(==) :: Pila a -> Pila a -> Bool #

(/=) :: Pila a -> Pila a -> Bool #

vacia :: Pila a Source #

p1 es un ejemplo de pila que se usará en los siguientes ejemplos:

ghci> p1
1|2|3|-

p1 :: Pila Int p1 = apila 1 (apila 2 (apila 3 vacia))

vacia es la pila vacía. Por ejemplo,

  ghci> vacia
  -

apila :: a -> Pila a -> Pila a Source #

(apila x p) es la pila obtenida añadiendo x encima de la pila p. Por ejemplo,

apila 4 (apila 1 (apila 2 (apila 3 vacia)))  ==  4|1|2|3|-

cima :: Pila a -> a Source #

(cima p) es la cima de la pila p. Por ejemplo,

cima (apila 1 (apila 2 (apila 3 vacia)))  ==  1

desapila :: Pila a -> Pila a Source #

(desapila p) es la pila obtenida suprimiendo la cima de la pila p. Por ejemplo,

desapila (apila 1 (apila 2 (apila 3 vacia)))  ==  2|3|-

esVacia :: Pila a -> Bool Source #

(esVacia p) se verifica si p es la pila vacía. Por ejemplo,

esVacia (apila 1 (apila 2 (apila 3 vacia)))  ==  False
esVacia vacia                                ==  True