Blog
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.
[sourcecode] module Stack(Stack,push,emptyS,top,isEmptyS,pop)wheredata 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
[/sourcecode]
Explicacion del módulo de la estructura Stack en Haskell
- emptyS: Esta función se utiliza para construir un Stack vació.
- push: Agrega un elemento al principio del Stack.
- pop: Elimina el último elemento agregado en el Stack.
- isEmptyS : Devuelve True en caso de que el Stack esté vació y False en caso contrario.
- 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:
[sourcecode] pop (push (push emptyS 1) 2)[/sourcecode]
Con el cual obtendremos el siguiente resultado.
[sourcecode] MKS [1] [/sourcecode]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.