trees :: BinTreeMap :: rotate_right
node
N Y
/ \ > / \
a Y N c
/ \ < / \
b c a b
# Perform right rotation on `node`
#
# ~~~raw
# N Y
# / \ > / \
# a Y N c
# / \ < / \
# b c a b
# ~~~
#
protected fun rotate_right(node: N) do
var y = node.left
node.left = y.right
if y.right != null then
y.right.parent = node
end
y.parent = node.parent
if node.parent == null then
root = y
else if node == node.parent.right then
node.parent.right = y
else
node.parent.left = y
end
y.right = node
node.parent = y
end
lib/trees/bintree.nit:279,2--305,4