package orsetto
Install
Dune Dependency
Authors
Maintainers
Sources
sha512=9b654edb663ae697563f150824047052f3b1bf760398f24bce6350553f031f73c46b6337239a1acd871e61238597ea92046809e3358290ff14d6ba671b449085
doc/orsetto.cf/Cf_sbheap/PQueue/Create/index.html
Module PQueue.Create
A functor to create a PQueue
module.
Parameters
module K : Cf_relations.Order
Signature
val nil : 'a t
The empty priority queue.
Use one kv
to create a priority queue containing the single priority-value pair kv
.
val empty : 'a t -> bool
Use empty q
to test whether q
is empty.
val size : 'a t -> int
Use size q
to compute the number of elements in q
. Runs in O(n) time and O(log N) space.
Use head q
to obtain the key-value pair on the top of q
. Raises Not_found
if q
is empty.
Use tail q
to obtain the priority queue produced by discarding the element at the top of q
. If q
is the empty queue, then the empty queue is returned.
Use pop q
to obtain the head and the tail of a priority queue q
in one operation. Returns None
if q
is empty.
Use put kv q
to obtain a new priority queue that is the result of inserting the key-value pair kv
into q
.
Use merge q1 q2
to obtain a new priority queue that is the result of merging all the elements of q1
and q2
into a single queue.
Use of_seq s
to construct a priority queue from a sequence of key-value pairs. Evaluates the whole sequence. Runs in O(n) time and O(1) space.