TAD de los conjuntos: Conjunto unitario
Utilizando el tipo abstracto de datos de los conjuntos definir la función
1 |
unitario :: Ord a => a -> Conj a |
tal que unitario x
es el conjunto {x}. Por ejemplo,
1 |
unitario 5 == {5} |
Soluciones
A continuación se muestran las soluciones en Haskell y las soluciones en Python.
1 2 3 4 |
import TAD.Conjunto (Conj, vacio, inserta) unitario :: Ord a => a -> Conj a unitario x = inserta x vacio |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from __future__ import annotations from abc import abstractmethod from typing import Protocol, TypeVar from src.TAD.conjunto import Conj, inserta, vacio class Comparable(Protocol): @abstractmethod def __lt__(self: A, otro: A) -> bool: pass A = TypeVar('A', bound=Comparable) def unitario(x: A) -> Conj[A]: return inserta(x, vacio()) |