Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
A structure containing unique elements
Synopsis
- data Set a
- empty :: Set a
- fromList :: Ord a => [a] -> Set a
- singleton :: a -> Set a
- difference :: Ord a => Set a -> Set a -> Set a
- intersection :: Ord a => Set a -> Set a -> Set a
- union :: Ord a => Set a -> Set a -> Set a
- toAscList :: Set a -> [a]
- toDescList :: Set a -> [a]
- delete :: Ord a => a -> Set a -> Set a
- filter :: Ord a => (a -> Bool) -> Set a -> Set a
- insert :: Ord a => a -> Set a -> Set a
- isSubsetOf :: Ord a => Set a -> Set a -> Bool
- lookupMax :: Set a -> Maybe a
- lookupMin :: Set a -> Maybe a
- member :: Ord a => a -> Set a -> Bool
- null :: Set a -> Bool
- size :: Set a -> Int
- valid :: Ord a => Set a -> Bool
Type
A set containing elements of type a, internally structured as an AVL tree
Instances
Foldable Set Source # | |
Defined in Mini.Data.Set fold :: Monoid m => Set m -> m # foldMap :: Monoid m => (a -> m) -> Set a -> m # foldMap' :: Monoid m => (a -> m) -> Set a -> m # foldr :: (a -> b -> b) -> b -> Set a -> b # foldr' :: (a -> b -> b) -> b -> Set a -> b # foldl :: (b -> a -> b) -> b -> Set a -> b # foldl' :: (b -> a -> b) -> b -> Set a -> b # foldr1 :: (a -> a -> a) -> Set a -> a # foldl1 :: (a -> a -> a) -> Set a -> a # elem :: Eq a => a -> Set a -> Bool # maximum :: Ord a => Set a -> a # | |
Show a => Show (Set a) Source # | |
Eq a => Eq (Set a) Source # | |
Ord a => Ord (Set a) Source # | |
Construction
Combination
intersection :: Ord a => Set a -> Set a -> Set a Source #
O(n log n) Intersect a set with another via left-biased matching
union :: Ord a => Set a -> Set a -> Set a Source #
O(n log n) Unite a set with another via left-biased matching
Conversion
toDescList :: Set a -> [a] Source #
O(n) Turn a set into a list of values in descending order
Modification
filter :: Ord a => (a -> Bool) -> Set a -> Set a Source #
O(n) Keep the values satisfying a predicate
insert :: Ord a => a -> Set a -> Set a Source #
O(log n) Insert a value into a set, overwriting if present
Query
isSubsetOf :: Ord a => Set a -> Set a -> Bool Source #
O(n log n) Check whether the values of a set exist in the other
lookupMax :: Set a -> Maybe a Source #
O(log n) Fetch the maximum value, or Nothing
if the set is empty
lookupMin :: Set a -> Maybe a Source #
O(log n) Fetch the minimum value, or Nothing
if the set is empty