Safe Haskell | None |
---|
Provides a typeclass for all binary search trees and an unbalanced implementation
- class Ord o => Indexable i o v | i -> o, i -> v where
- class Indexable i o v => AnyBST t i o v where
- anyBstInsert :: i -> t i -> t i
- anyBstRemove :: o -> t i -> t i
- anyBstMax :: t i -> Maybe i
- anyBstMin :: t i -> Maybe i
- anyBstLookup :: o -> t i -> Maybe v
- anyBstEmpty :: t i
- anyBstHead :: t i -> Maybe i
- anyBstInorder :: t i -> [i]
- data BST a
- bstInsert :: Indexable i o v => i -> BST i -> BST i
- bstRemove :: Indexable i o v => o -> BST i -> BST i
- bstMax :: BST i -> Maybe i
- bstMin :: BST i -> Maybe i
- bstLookup :: Indexable i o v => o -> BST i -> Maybe v
- bstHead :: Indexable i o v => BST i -> Maybe i
- bstInorder :: Indexable i o v => BST i -> [i]
Documentation
class Ord o => Indexable i o v | i -> o, i -> v whereSource
Only instances of Indexable may be saved in a BST
Indexable Int Int Int | |
Indexable PlayerState PlayerId PlayerState | |
Indexable Currency CurrencyId Currency | |
Indexable CooldownId CooldownId CooldownId | |
Indexable ObjectState ObjectId ObjectState | |
Indexable Feature Feature Feature | |
Indexable EquipKey EquipKey EquipKey | |
Indexable (Node a) NodeId (Node a) | |
Ord o => Indexable (o, a) o a | |
Ord o => Indexable (o, a, b) o (a, b) | |
Ord o => Indexable (o, a, b, c) o (a, b, c) | |
Ord o => Indexable (o, a, b, c, d) o (a, b, c, d) | |
Ord o => Indexable (o, a, b, c, d, e) o (a, b, c, d, e) |
class Indexable i o v => AnyBST t i o v whereSource
Typeclass for all BSTs that store the given Indexable
anyBstInsert :: i -> t i -> t iSource
Insert into the tree
anyBstRemove :: o -> t i -> t iSource
Remove from the tree
anyBstMax :: t i -> Maybe iSource
Get the greatest element
anyBstMin :: t i -> Maybe iSource
Get the least element
anyBstLookup :: o -> t i -> Maybe vSource
Lookup a given key
anyBstEmpty :: t iSource
An empty tree
anyBstHead :: t i -> Maybe iSource
The root of the tree
anyBstInorder :: t i -> [i]Source
Traverse the tree in order
An unbalanced binary search tree
bstInorder :: Indexable i o v => BST i -> [i]Source
Traverse the tree in order