I1M-0.2.0: Code for the Haskell course taught at the University of Seville.
LicenseCreative Commons
MaintainerJosé A. Alonso
Safe HaskellSafe-Inferred
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

Instances details
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 #

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

Defined in I1M.Conjunto

Methods

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

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

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}