aboutsummaryrefslogtreecommitdiff
path: root/collections/double_ended_queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'collections/double_ended_queue.c')
-rw-r--r--collections/double_ended_queue.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/collections/double_ended_queue.c b/collections/double_ended_queue.c
index a8daf92..169693d 100644
--- a/collections/double_ended_queue.c
+++ b/collections/double_ended_queue.c
@@ -184,6 +184,22 @@ deq *root;
return root->base[root->end];
}
+void* deq_swap_rm_front(root, index)
+deq *root;
+int index;
+{
+ deq_swap(root, 0, index);
+ return deq_pop_front(root);
+}
+
+void* deq_swap_rm_back(root, index)
+deq *root;
+int index;
+{
+ deq_swap(root,deq_size(root) - 1,index);
+ return deq_pop_back(root);
+}
+
void deq_remove(root, index)
deq *root;
int index;