
这是算法导论的代码,我照着写成 JAVA 有运行错误
是插入以后,修改颜色,旋转的部分
总感觉 9~14 行不太对,是书上错了吗?
NIL,ROOT 设置都没有问题
1 while z.p.color == RED 2 if z.p == z.p.p.left 3 y = z.p.p.right 4 if y.color == RED 5 z.p.color = BLACK 6 y.color = BLACK 7 z.p.p.color = RED 8 z = z.p.p 9 else if z == z.p.right 10 z = z.p 11 LeftRotate(z) 12 z.p.color = BLACK 13 z.p.p.color = RED 14 RightRotate(z.p.p) 15 else //left right 交换的镜像操作 16 root.color = BLACK 我改了 9~14 行,正确了,现在想确认一下是不是书上错了
else if z == z.p.right z = z.p LeftRotate(z) z.p.color = BLACK z.p.p.color = RED RightRotate(z.p.p)