From e621624ef00b645f4c423d648826b51f90b1a4ec Mon Sep 17 00:00:00 2001 From: ngiddings Date: Wed, 24 Aug 2022 06:35:58 -0500 Subject: [PATCH] Changed avl_get() to use loop instead of recursion --- src/avltree.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/avltree.c b/src/avltree.c index 41ae7c9..8902d54 100644 --- a/src/avltree.c +++ b/src/avltree.c @@ -179,20 +179,20 @@ struct avltree_t *avl_remove(struct avltree_t *tree, int key) void *avl_get(struct avltree_t *tree, int key) { - if(tree == NULL) + while(tree != NULL) { - return NULL; - } - else if(key < tree->key) - { - return avl_get(tree->left, key); - } - else if(key > tree->key) - { - return avl_get(tree->right, key); - } - else - { - return tree->value; + if(key < tree->key) + { + tree = tree->left; + } + else if(key > tree->key) + { + tree = tree->right; + } + else + { + return tree->value; + } } + return NULL; } \ No newline at end of file