223dequeue* make_inter_sorted_dequeue_array(
dequeue* p, uint* arr, uint size);
Type used to represent a dequeue of unsigned integers.
Definition type_dequeue.h:26
uint left
Index of the leftmost value in the dequeue.
Definition type_dequeue.h:29
uint * array
Array of values.
Definition type_dequeue.h:27
bool empty
Boolean indicating whether the dequeue is empty.
Definition type_dequeue.h:31
uint right
Index following the rightmost value in the dequeue.
Definition type_dequeue.h:30
uint size_array
Size of the array of values.
Definition type_dequeue.h:28
uint rigpull_dequeue(dequeue *)
Removes the rightmost value of a dequeue.
Definition type_dequeue.c:206
void insert_dequeue(dequeue *, uint)
Inserts a new value inside a sorted dequeue with no repetitions.
Definition type_dequeue.c:469
void merge_array_sorted_dequeue(dequeue *, dequeue **, uint)
Merges all dequeues in the array (all of them sorted with no repetitions) into a single dequeue (whic...
Definition type_dequeue.c:527
uint rigread_dequeue(dequeue *, uint)
Read a value inside a dequeue without removing it (right-left version).
Definition type_dequeue.c:137
void rigins_dequeue(uint, dequeue *)
Inserts a new value on the right of a dequeue.
Definition type_dequeue.c:172
void merge_sorted_dequeue(dequeue *, dequeue *)
Merge of two sorted dequeues with no repetitions.
Definition type_dequeue.c:391
void makeempty_dequeue(dequeue *)
Empties a dequeue.
Definition type_dequeue.c:106
void print_dequeue(dequeue *)
Displays a dequeue on the standard output.
Definition type_dequeue.c:242
bool isempty_dequeue(dequeue *)
Tests whether a dequeue is empty.
Definition type_dequeue.c:101
dequeue * make_inter_sorted_dequeue(dequeue *, dequeue *)
Intersection of two sorted dequeues with no repetitions.
Definition type_dequeue.c:422
void copy_dequeue_right(dequeue *, dequeue *, uint)
Copies all elements in a dequeue to the right of another dequeue. Shifts all values by an input numbe...
Definition type_dequeue.c:224
dequeue * create_dequeue(void)
Creation of an empty dequeue.
Definition type_dequeue.c:80
uint size_dequeue(dequeue *)
Computes the size of a dequeue.
Definition type_dequeue.c:113
bool mem_dequeue(uint, dequeue *)
Tests if a value occurs inside a dequeue.
Definition type_dequeue.c:232
bool mem_dequeue_sorted(uint, dequeue *, uint *)
Tests if a value occurs inside a sorted dequeue with no repetition.
Definition type_dequeue.c:368
dequeue * dequeue_to_indices(dequeue *, dequeue *)
Takes two dequeues sorted in increasing order with no repetition as input such that the first one is ...
Definition type_dequeue.c:510
uint lefread_dequeue(dequeue *, uint)
Read a value inside a dequeue without removing it (left-right version).
Definition type_dequeue.c:126
void lefins_dequeue(uint, dequeue *)
Inserts a new value on the left of a dequeue.
Definition type_dequeue.c:157
void delete_dequeue(dequeue *)
Release of a dequeue.
Definition type_dequeue.c:92
void sort_dequeue_norepeat(dequeue *)
Sorts a dequeue in increasing order and keeps only a single copy of each occuring value.
Definition type_dequeue.c:306
bool intersec_dequeue(dequeue *, dequeue *)
Tests if two sorted dequeues with no repetitions have a nonempty intersection.
Definition type_dequeue.c:484
uint lefpull_dequeue(dequeue *)
Removes the leftmost value of a dequeue.
Definition type_dequeue.c:188