From 6d25ae4ad3ee3cd325431f8e6dc1dfc4329e90e9 Mon Sep 17 00:00:00 2001 From: 0xprincedev Date: Wed, 5 Nov 2025 02:20:20 -0500 Subject: [PATCH] Missing rb_tree_subtree_height implementation --- src/rb-tree.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/rb-tree.c b/src/rb-tree.c index 2b5cd1e..13c3691 100644 --- a/src/rb-tree.c +++ b/src/rb-tree.c @@ -456,6 +456,25 @@ RBTreeNode *rb_tree_node_parent(RBTreeNode *node) return node->parent; } +int rb_tree_subtree_height(RBTreeNode *node) +{ + int left_height; + int right_height; + + if (node == NULL) { + return 0; + } + + left_height = rb_tree_subtree_height(node->children[RB_TREE_NODE_LEFT]); + right_height = rb_tree_subtree_height(node->children[RB_TREE_NODE_RIGHT]); + + if (left_height > right_height) { + return left_height + 1; + } else { + return right_height + 1; + } +} + RBTreeKey *rb_tree_to_array(RBTree *tree) { /* TODO */