module Make:
Parameters: |
|
type
t
val empty : t
val is_empty : t -> bool
runs in O(1)
val insert : X.t -> t -> t
runs in O(log n)
val min : t -> X.t
runs in O(1)
val extract_min : t -> X.t * t
runs in O(log n)
val merge : t -> t -> t
runs in O(log max(n1, n2))
val fold : (X.t -> 'a -> 'a) -> t -> 'a -> 'a
elements are presented in an arbitrary order
val elements : t -> X.t list
the returned list is not sorted
val of_list : X.t list -> t