Assign5.DEQUEUE
val empty : 'a t
An empty dequeue.
push_front x q
is the dequeue gotten by prepending x
to the front of q
.
pop_front q
is
Some (x, r)
where x
is the first element of q
and r
is the remaining element of q
;None
if q
is empty.push_back x q
is the dequeue gotten by appending x
to the back of q
.
pop_back q
is
Some (x, r)
where x
is the last element of q
and r
is the remaining element of q
;None
if q
is empty.val to_list : 'a t -> 'a list
Converts a dequeue into a list with the same elements (in the same order).