File tree Expand file tree Collapse file tree 1 file changed +6
-8
lines changed Expand file tree Collapse file tree 1 file changed +6
-8
lines changed Original file line number Diff line number Diff line change @@ -174,6 +174,12 @@ def delete! node
174174 rotate_sub_tree! node . parent , node . position
175175 end
176176
177+ if node . close_nephew && node . close_nephew . valid? && node . close_nephew . red?
178+ node . sibling . red! unless node . sibling . leaf?
179+ node . close_nephew . black!
180+ rotate_sub_tree! node . sibling , node . opposite_position
181+ end
182+
177183 if node . distant_nephew && node . distant_nephew . valid? && node . distant_nephew . red?
178184 case node . parent . colour
179185 when Node ::RED then node . sibling . red!
@@ -186,14 +192,6 @@ def delete! node
186192 break
187193 end
188194
189- if node . close_nephew && node . close_nephew . valid? && node . close_nephew . red?
190- node . sibling . red! unless node . sibling . leaf?
191- node . close_nephew . black!
192- rotate_sub_tree! node . sibling , node . opposite_position
193-
194- next
195- end
196-
197195 if node . parent && node . parent . red?
198196 node . sibling . red! unless node . sibling . leaf?
199197 node . parent . black!
You can’t perform that action at this time.
0 commit comments