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)
{ {
return avl_get(tree->left, key); tree = tree->left;
} }
else if(key > tree->key) else if(key > tree->key)
{ {
return avl_get(tree->right, key); tree = tree->right;
} }
else else
{ {
return tree->value; return tree->value;
} }
}
return NULL;
} }