I1M-0.0.1: Code for the Haskell course taught at the University od Seville.

LicenseCreative Commons
MaintainerJosé A. Alonso
Safe HaskellSafe
LanguageHaskell2010

I1M.Conjunto

Description

TAD (tipo abstracto de datos) de los conjuntos.

Este módulo contiene el código del TAD de los conjuntos estudiado en el tema 17 del curso.

Synopsis

Documentation

data Conj a Source #

Tipo de dato de los conjuntos.

Instances
Eq a => Eq (Conj a) Source # 
Instance details

Defined in I1M.Conjunto

Methods

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

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

Show a => Show (Conj a) Source # 
Instance details

Defined in I1M.Conjunto

Methods

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

show :: Conj a -> String #

showList :: [Conj a] -> ShowS #

vacio :: Conj a Source #

vacio es el conjunto vacío. Por ejemplo,

ghci> vacio
{}

esVacio :: Conj a -> Bool Source #

(esVacio c) se verifica si c es el conjunto vacío. Por ejemplo,

λ> esVacio (foldr inserta vacio [2,5])
False
λ> esVacio vacio
True

pertenece :: Ord a => a -> Conj a -> Bool Source #

(pertenece x c) se verifica si x pertenece al conjunto c. Por ejemplo,

λ> let c1 = foldr inserta vacio [2,5,3,2]
λ> pertenece 3 c1
True
λ> pertenece 4 c1
False

inserta :: Ord a => a -> Conj a -> Conj a Source #

(inserta x c) es el conjunto obtenido añadiendo el elemento x al conjunto c. Por ejemplo,

λ> let c1 = foldr inserta vacio [2,5,3,2]
λ> c1
{2,3,5}
λ> inserta 3 c1
{2,3,5}
λ> inserta 4 c1
{2,3,4,5}

elimina :: Ord a => a -> Conj a -> Conj a Source #

(elimina x c) es el conjunto obtenido eliminando el elemento x del conjunto c. Por ejemplo,

λ> let c1 = foldr inserta vacio [2,5,3,2]
λ> c1
{2,3,5}
λ> elimina 3 c1
{2,5}
λ> elimina 7 c1
{2,3,5}