QUEUE
signatureThe Queue structure provides imperative first-in/first-out queues.
signature QUEUE
structure Queue
: QUEUE
type 'a queue
exception Dequeue
val mkQueue : unit -> 'a queue
val isEmpty : 'a queue -> bool
val enqueue : ('a queue * 'a) -> unit
val dequeue : 'a queue -> 'a
val delete : ('a queue * ('a -> bool)) -> unit
val head : 'a queue -> 'a
val peek : 'a queue -> 'a option
val length : 'a queue -> int
val contents : 'a queue -> 'a list
val app : ('a -> unit) -> 'a queue -> unit
val map : ('a -> 'b) -> 'a queue -> 'b queue
val foldl : (('a * 'b) -> 'b) -> 'b -> 'a queue -> 'b
val foldr : (('a * 'b) -> 'b) -> 'b -> 'a queue -> 'b
type 'a queue
exception Dequeue
mkQueue ()
isEmpty q
true
, if the queue q is empty.
enqueue (q, a)
dequeue q
delete (q, pred)
head q
peek q
length q
contents q
app f q
List.app f (contents q)
map f q
List.map f (contents q)
foldl f init q
List.foldl f init (contents q)
foldr f init q
List.foldr f init (contents q)
Fifo
Last Modified May 29, 1996
Copyright © 1996 AT&T Research