rotateLeft performs a left rotation.
(x *treeNode)
| 293 | |
| 294 | // rotateLeft performs a left rotation. |
| 295 | func (t *IntervalTree) rotateLeft(x *treeNode) *treeNode { |
| 296 | y := x.right |
| 297 | z := y.left |
| 298 | |
| 299 | y.left = x |
| 300 | x.right = z |
| 301 | |
| 302 | updateHeight(x) |
| 303 | updateMaxEnd(x) |
| 304 | updateHeight(y) |
| 305 | updateMaxEnd(y) |
| 306 | |
| 307 | return y |
| 308 | } |
| 309 | |
| 310 | // rebalance rebalances a node after insertion. |
| 311 | func (t *IntervalTree) rebalance(node *treeNode) *treeNode { |
no test coverage detected