From 454147ec812edaf57d46f3fae46b8619d3626f1a Mon Sep 17 00:00:00 2001 From: wjf-hs Date: Mon, 1 Jul 2024 11:44:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E8=A7=89=E5=BE=97=E8=BF=99=E9=87=8C?= =?UTF-8?q?=E6=98=AF=E5=8F=AF=E4=BB=A5=E4=BC=98=E5=8C=96=E7=9A=84=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E6=98=AF=E5=88=A0=E9=99=A4=E8=BF=98=E6=98=AF=E5=8D=A1?= =?UTF-8?q?=E6=AD=BB=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/tree.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/tree.c b/src/tree.c index 8f389b0..94f6d3c 100644 --- a/src/tree.c +++ b/src/tree.c @@ -1242,8 +1242,12 @@ static bool tree_rb_rebalance(struct _tree* self, struct _tree_node* node) if(node == father->right) { node = tree_rb_turn_left(self, father); + node->color = RBT_BLACK; + } + else + { + father->color = RBT_BLACK; } - father->color = RBT_BLACK; grandfather->color = RBT_RED; node = tree_rb_turn_right(self, grandfather); break; @@ -1264,8 +1268,12 @@ static bool tree_rb_rebalance(struct _tree* self, struct _tree_node* node) if(node == father->left) { node = tree_rb_turn_right(self, father); + node->color = RBT_BLACK; + } + else + { + father->color = RBT_BLACK; } - father->color = RBT_BLACK; grandfather->color = RBT_RED; node = tree_rb_turn_left(self, grandfather); break;