Module

Data.PQueue

Package
purescript-pqueue
Repository
nullobject/purescript-pqueue

#PQueue Source

newtype PQueue p a

PQueue p a represents a queue of elements of type a with priorities of type p.

Constructors

Instances

#fromFoldable Source

fromFoldable :: forall f a p. Foldable f => Ord p => f (Tuple p a) -> PQueue p a

Create a queue from a foldable structure.

#empty Source

empty :: forall a p. PQueue p a

Create an empty queue.

#singleton Source

singleton :: forall a p. p -> a -> PQueue p a

Create a queue with a single element.

#isEmpty Source

isEmpty :: forall a p. PQueue p a -> Boolean

Test whether a queue is empty.

#insert Source

insert :: forall a p. Ord p => p -> a -> PQueue p a -> PQueue p a

Insert an element into the queue.

#head Source

head :: forall a p. PQueue p a -> Maybe (Tuple p a)

Get the minimal element of a queue.

#tail Source

tail :: forall a p. PQueue p a -> Maybe (PQueue p a)

Delete the minimal element of a queue.

#init Source

init :: forall a p. PQueue p a -> Maybe (PQueue p a)

Delete the maximal element of a queue.

#last Source

last :: forall a p. PQueue p a -> Maybe (Tuple p a)

Get the maximal element of a queue.