I1M-0.1.0.0: Código de I1M.

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 
Show a => Show (Conj a) Source 

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}