fix(search tree): fixed removal of nodes with only right sided nodes

This commit is contained in:
Mineplay 2025-08-31 13:41:51 -05:00
parent dab5f6a9b2
commit d6e1a5309d

View file

@ -184,9 +184,7 @@ FledastyError fledasty_binary_search_tree_##name##_remove(FledastyBinarySearchTr
while (replacement_node->right != NULL) { \
replacement_node = replacement_node->right; \
} \
} \
\
if (replacement_node != NULL) { \
replacement_node->left = current_node->left; \
if (current_node->left != NULL) { \
current_node->left->parent = replacement_node; \
@ -196,7 +194,9 @@ FledastyError fledasty_binary_search_tree_##name##_remove(FledastyBinarySearchTr
if (current_node->right != NULL) { \
current_node->right->parent = replacement_node; \
} \
} \
\
if (replacement_node != NULL) { \
if (replacement_node->parent->right == replacement_node) { \
replacement_node->parent->right = NULL; \
} else { \