Functor Leftistheap.Make

module Make: 
functor (X : Stdlib.Set.OrderedType-> sig .. end
Parameters:
X : Stdlib.Set.OrderedType

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