diff options
| -rw-r--r-- | src/03/avl_tree.c | 3 | ||||
| -rw-r--r-- | src/03/rb_tree.h | 1 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/03/avl_tree.c b/src/03/avl_tree.c index 1fe5d4c..8418c78 100644 --- a/src/03/avl_tree.c +++ b/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; diff --git a/src/03/rb_tree.h b/src/03/rb_tree.h index 984ad59..9d4f0e4 100644 --- a/src/03/rb_tree.h +++ b/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); |
