PQueue.CreateA functor to create a PQueue module.
module K : Cf_relations.Orderval nil : 'a tThe empty priority queue.
Use one kv to create a priority queue containing the single priority-value pair kv.
val empty : 'a t -> boolUse empty q to test whether q is empty.
val size : 'a t -> intUse 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.