Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Mini.Data.Set
Description
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
- lookupGE :: Ord a => a -> Set a -> Maybe a
- lookupGT :: Ord a => a -> Set a -> Maybe a
- lookupLE :: Ord a => a -> Set a -> Maybe a
- lookupLT :: Ord a => a -> Set a -> Maybe a
- 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 Methods 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 # | |
Ord a => Monoid (Set a) Source # | |
Ord a => Semigroup (Set a) Source # | |
Show a => Show (Set a) Source # | |
Eq a => Eq (Set a) Source # | |
Ord a => Ord (Set a) Source # | |
Construction
Combination
Conversion
toDescList :: Set a -> [a] Source #
O(n) Turn a set into a list of elements in descending order
Modification
filter :: Ord a => (a -> Bool) -> Set a -> Set a Source #
O(n log n) Keep the elements satisfying a predicate
Query
isSubsetOf :: Ord a => Set a -> Set a -> Bool Source #
O(n log m) Check whether the elements of a set exist in the other
lookupGE :: Ord a => a -> Set a -> Maybe a Source #
O(log n) Fetch the least element greater than or equal to the given one
lookupGT :: Ord a => a -> Set a -> Maybe a Source #
O(log n) Fetch the least element strictly greater than the given one
lookupLE :: Ord a => a -> Set a -> Maybe a Source #
O(log n) Fetch the greatest element less than or equal to the given one
lookupLT :: Ord a => a -> Set a -> Maybe a Source #
O(log n) Fetch the greatest element strictly less than the given one
lookupMax :: Set a -> Maybe a Source #
O(log n) Fetch the maximum element, or Nothing
if the set is empty
lookupMin :: Set a -> Maybe a Source #
O(log n) Fetch the minimum element, or Nothing
if the set is empty