| Copyright | Copyright (c) 2009-2013, David Sorokin <david.sorokin@gmail.com> | 
|---|---|
| License | BSD3 | 
| Maintainer | David Sorokin <david.sorokin@gmail.com> | 
| Stability | experimental | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell98 | 
Simulation.Aivika.PriorityQueue
Description
Tested with: GHC 7.6.3
An imperative heap-based priority queue.
- data PriorityQueue a
 - queueNull :: PriorityQueue a -> IO Bool
 - queueCount :: PriorityQueue a -> IO Int
 - newQueue :: IO (PriorityQueue a)
 - enqueue :: PriorityQueue a -> Double -> a -> IO ()
 - dequeue :: PriorityQueue a -> IO ()
 - queueFront :: PriorityQueue a -> IO (Double, a)
 
Documentation
data PriorityQueue a Source
The PriorityQueue type represents an imperative heap-based 
 priority queue.
queueNull :: PriorityQueue a -> IO Bool Source
Test whether the priority queue is empty.
queueCount :: PriorityQueue a -> IO Int Source
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.