diff options
| author | mo khan <mo.khan@gmail.com> | 2020-08-31 11:56:48 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-08-31 11:56:48 -0600 |
| commit | 29cb2dbe8fbe76e3c3f3e56db4d16dfd0ce05c39 (patch) | |
| tree | 51371466a9c6f37815b5011719286a4c2f683aa1 | |
| parent | 02f04d08acd1d64d22607e5387766130c5da80e5 (diff) | |
fix: assign colour based on height
| -rw-r--r-- | src/03/avl_tree.c | 1 | ||||
| -rw-r--r-- | src/03/avl_tree_test.c | 8 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/03/avl_tree.c b/src/03/avl_tree.c index 79205e3..1fe5d4c 100644 --- a/src/03/avl_tree.c +++ b/src/03/avl_tree.c @@ -185,6 +185,7 @@ RBTree *avl_tree_to_rb_tree(AVLTree *tree) { return NULL; RBTree *rb_tree = rb_tree_initialize(tree->value); + rb_tree->colour = 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/avl_tree_test.c b/src/03/avl_tree_test.c index ffe5cfc..3b2e4c3 100644 --- a/src/03/avl_tree_test.c +++ b/src/03/avl_tree_test.c @@ -310,11 +310,11 @@ Ensure(delete_returns_a_null_root) { Ensure(to_rb_tree_returns_a_new_red_black_tree) { /* - (20:3) (20:b) - / \ --> / \ - (15:2) (30:2) (15:r) (30:r) + (20:3) (20:r) + / \ --> / \ + (15:2) (30:2) (15:b) (30:b) / \ \ / \ \ -(10:1) (17:1) (35:1) (10:b) (17:b) (35:b) +(10:1) (17:1) (35:1) (10:r) (17:r) (35:r) */ AVLTree *tree = NULL; RBTree *expected = NULL; |
