Commit 2e99c5f

mo khan <mo.khan@gmail.com>
2020-08-31 18:04:35
refactor: delegate to convenience constructor
1 parent 29cb2db
Changed files (2)
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);