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.
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
- 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:
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.