package containers
Install
Dune Dependency
Authors
Maintainers
Sources
md5=d84e09c5d0abc501aa17cd502e31a038
sha512=8b832f4ada6035e80d81be0cfb7bdffb695ec67d465ed6097a144019e2b8a8f909095e78019c3da2d8181cc3cd730cd48f7519e87d3162442562103b7f36aabb
doc/containers.data/CCDeque/index.html
Module CCDeque
Source
Imperative deque
This structure provides fast access to its front and back elements, with O(1) operations.
Contains 'a elements, queue in both ways
equal a b
checks whether a
and b
contain the same sequence of elements.
compare a b
compares lexicographically a
and b
.
Update last value. If the deque is empty do nothing. If the function returns None
, remove last element; if it returns Some x
, replace last element with x
.
Update first value. If the deque is empty do nothing. Similar to update_back
but for the first value.
append_front ~into q
adds all elements of q
at the front of into
. O(length q)
in time.
append_back ~into q
adds all elements of q
at the back of into
. O(length q)
in time.
Conversions
Create a deque from the sequence. Optional argument deque
disappears, use add_seq_back
instead.
add_seq_front q seq
adds elements of seq
into the front of q
, in reverse order. O(n)
in time, where n
is the number of elements to add.
add_seq_back q seq
adds elements of seq
into the back of q
, in order. O(n)
in time, where n
is the number of elements to add.
List of elements, in order. Less efficient than to_rev_list
.
Keep only elements that satisfy the predicate.