Bounded_heap.Make
val create : int -> t
create size
create a bounded sequence of at most size
elements.
Raise Invalid_argument
if size < 0
or size > Sys.max_array_length
.
val insert : E.t -> t -> unit
insert e b
adds element e
to bounded sequence b
if:
b
is not full (i.e, we have not inserted size
elements until now); ore'
from b
such that E.compare e' e < 0
.Worst-case complexity: O(log n) where n is the size of the heap.
val get : t -> E.t list
get b
returns the contents of b
as a sorted list in increasing order according to E.compare
.
Worst-case complexity: O(n log n) where n is the size of the heap.
val peek : t -> E.t option
peek b
returns Some e
if b
is not empty where e
is the smallest element in b
according to E.compare
, None
otherwise.
Worst-case complexity: O(1).