From c38089c8246d25f64557de6cf2542b48f91ace4c Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Sun, 23 Feb 2020 13:34:38 -0500 Subject: Add swap to double ended queue --- collections/double_ended_queue.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'collections/double_ended_queue.c') diff --git a/collections/double_ended_queue.c b/collections/double_ended_queue.c index ee93196..6a3a810 100644 --- a/collections/double_ended_queue.c +++ b/collections/double_ended_queue.c @@ -159,3 +159,25 @@ deq *root; copy->beg = copy->base; copy->end = copy->base + deq_size(root); } + +void deq_swap(root, i, j) +deq *root; +int i, j; +{ + int len; + void *tmp; + + if (!root) { + return; + } + + len = deq_size(root); + + if (i >= len || j >= len) { + return; + } + + tmp = root->end[i]; + root->end[j] = root->end[i]; + root->end[i] = tmp; +} -- cgit v1.1