Changed avl_get() to use loop instead of recursion

This commit is contained in:
2022-08-24 06:35:58 -05:00
parent fc1ef8abf3
commit e621624ef0

View File

@@ -179,20 +179,20 @@ struct avltree_t *avl_remove(struct avltree_t *tree, int key)
void *avl_get(struct avltree_t *tree, int key) void *avl_get(struct avltree_t *tree, int key)
{ {
if(tree == NULL) while(tree != NULL)
{ {
return NULL; if(key < tree->key)
} {
else if(key < tree->key) tree = tree->left;
{ }
return avl_get(tree->left, key); else if(key > tree->key)
} {
else if(key > tree->key) tree = tree->right;
{ }
return avl_get(tree->right, key); else
} {
else return tree->value;
{ }
return tree->value;
} }
return NULL;
} }