Haskell

Módulo de la estructura Stack en Haskell

A continuación el módulo de la estructura Stack en Haskell con las funciones push, emptyS, top, isEmptyS y pop.

module Stack(Stack,push,emptyS,top,isEmptyS,pop)where 

data Stack a = MKS [a] deriving Show

emptyS :: Stack a
emptyS = MKS []

push:: Stack a -> a -> Stack a
push (MKS (xs)) n = MKS (n:xs)

pop:: Stack a -> Stack a
pop (MKS (x:xs)) = MKS xs

isEmptyS :: Stack a -> Bool
isEmptyS (MKS [])=True
isEmptyS _ = False

top:: Stack a -> a
top (MKS (x:xs)) =x

Explicacion del módulo de la estructura Stack en Haskell

  1. emptyS: Esta función se utiliza para construir un Stack vació.
  2. push: Agrega un elemento al principio del Stack.
  3. pop: Elimina el último elemento agregado en el Stack.
  4. isEmptyS : Devuelve True en caso de que el Stack esté vació y False en caso contrario.
  5. top: Devuelve el último elemento agregado en el Stack.

Haciendo una prueba con WinHugs

Para probar el Stack debemos cargar el archivo del módulo en WinHugs y ejecutar el siguiente código:

pop (push (push emptyS 1) 2)

Con el cual obtendremos el siguiente resultado.

MKS [1]

Bueno gente, espero que les sirva el módulo de la estructura Stack en Haskell y ante cualquier inconveniente no duden en dejar un comentario.

Compartilo en
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someone

AboutJosé Di Meglio

Apasionado de la tecnología y programación. Aportando información gratuita sobre el mundo de la informática.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *