From 0f7085dedd2f60f2ccc0b1f49558f5be89de97b2 Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Wed, 10 Jun 2020 23:23:52 -0400 Subject: Fix change order of functions in double ended queue. Groups functions that return items together. --- collections/double_ended_queue.c | 88 ++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 44 deletions(-) (limited to 'collections/double_ended_queue.c') diff --git a/collections/double_ended_queue.c b/collections/double_ended_queue.c index 7857c3a..bf329ca 100644 --- a/collections/double_ended_queue.c +++ b/collections/double_ended_queue.c @@ -111,16 +111,6 @@ deq *root; root->base = tmp; } -void deq_set(root, index, item) -deq *root; -int index; -void *item; -{ - if (!root || !DEQ_IN_BOUNDS(root, index)) - return; - root->base[(root->beg + index) % root->limit] = item; -} - void* deq_index(root, index) deq *root; int index; @@ -133,7 +123,7 @@ int index; return root->base[(root->beg + index) % root->limit]; } -void deq_push_back(root, item) +void deq_push_front(root, item) deq *root; void *item; { @@ -145,14 +135,16 @@ void *item; if (root->end >= root->limit) deq_resize(root); - root->base[root->end++] = item; - root->end %= root->limit; + --root->beg; + root->beg %= root->limit; + + root->base[root->beg] = item; if (root->end == root->beg) root->end = root->limit; } -void deq_push_front(root, item) +void deq_push_back(root, item) deq *root; void *item; { @@ -164,15 +156,23 @@ void *item; if (root->end >= root->limit) deq_resize(root); - --root->beg; - root->beg %= root->limit; - - root->base[root->beg] = item; + root->base[root->end++] = item; + root->end %= root->limit; if (root->end == root->beg) root->end = root->limit; } +void deq_set(root, index, item) +deq *root; +int index; +void *item; +{ + if (!root || !DEQ_IN_BOUNDS(root, index)) + return; + root->base[(root->beg + index) % root->limit] = item; +} + void* deq_pop_front(root) deq *root; { @@ -222,6 +222,32 @@ int index; return deq_pop_back(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; + + i += root->beg; + i %= root->limit; + + j += root->beg; + j %= root->limit; + + tmp = root->base[i]; + root->base[i] = root->base[j]; + root->base[j] = tmp; +} + void deq_remove(root, index) deq *root; int index; @@ -313,32 +339,6 @@ deq *root; return copy; } -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; - - i += root->beg; - i %= root->limit; - - j += root->beg; - j %= root->limit; - - tmp = root->base[i]; - root->base[i] = root->base[j]; - root->base[j] = tmp; -} - /*Note: Does not currently reduce memory footprint*/ void deq_truncate(root, size) deq *root; -- cgit v1.1