module Red_black_tree:sig
..end
module RedBlackTree:functor (
Ord
:
Ord.S
) ->
Binary_search_tree.Make
(
Ord
)
(
sig
type
color =
|
Red
|
Black
type
t =
|
Empty
|
Node of
{
mutable color :
color
;
value :
Ord.t
;
mutable parent :
t
;
mutable left :
t
;
mutable right :
t
;}
val empty_tree :t
val left :t -> t
val right :t -> t
val value :t -> Ord.t
val get_parent :t -> t
val get_grand_parent :t -> t
val get_uncle :t -> t
val rotate_left :t -> unit
val rotate_right :t -> unit
val rebalance :t -> t
val root_of_node :t -> t
val insert :t -> Ord.t -> t
end
)