aivika-1.2: A multi-paradigm simulation library

Stabilityexperimental
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Safe HaskellSafe-Inferred

Simulation.Aivika.PriorityQueue

Description

Tested with: GHC 7.6.3

An imperative heap-based priority queue.

Synopsis

Documentation

queueNull :: PriorityQueue a -> IO BoolSource

Test whether the priority queue is empty.

queueCount :: PriorityQueue a -> IO IntSource

Return the number of elements in the priority queue.

newQueue :: IO (PriorityQueue a)Source

Create a new priority queue.

enqueue :: PriorityQueue a -> Double -> a -> IO ()Source

Enqueue a new element with the specified priority.

dequeue :: PriorityQueue a -> IO ()Source

Dequeue the element with the minimal priority.

queueFront :: PriorityQueue a -> IO (Double, a)Source

Return the element with the minimal priority.