Commit 2e99c5f
Changed files (2)
src
src/03/avl_tree.c
@@ -184,8 +184,7 @@ RBTree *avl_tree_to_rb_tree(AVLTree *tree) {
if (!tree)
return NULL;
- RBTree *rb_tree = rb_tree_initialize(tree->value);
- rb_tree->colour = tree->height % 2 == 0 ? black : red;
+ RBTree *rb_tree = rb_tree_initialize_with(tree->value, tree->height % 2 == 0 ? black : red);
rb_tree->left = avl_tree_to_rb_tree(tree->left);
rb_tree->right = avl_tree_to_rb_tree(tree->right);
return rb_tree;
src/03/rb_tree.h
@@ -14,6 +14,7 @@ typedef struct rb_node {
} RBTree;
RBTree *rb_tree_initialize(int value);
+RBTree *rb_tree_initialize_with(int value, enum Colour colour);
RBTree *rb_tree_insert(RBTree *tree, int value);
void rb_tree_inspect(RBTree *tree);
bool rb_equals(RBTree *tree, RBTree *other_tree);