MCPcopy Create free account
hub / github.com/GJDuck/e9patch / tree_rotate_right

Function tree_rotate_right

examples/stdlib.c:5178–5193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5176}
5177
5178static void tree_rotate_right(struct tree_s *t, struct node_s *n)
5179{
5180 struct node_s *tmp = TREE_LEFT(n);
5181 if ((TREE_LEFT(n) = TREE_RIGHT(tmp)) != NULL)
5182 TREE_PARENT(TREE_RIGHT(tmp)) = n;
5183 if ((TREE_PARENT(tmp) = TREE_PARENT(n)) != NULL)
5184 {
5185 if (n == TREE_LEFT(TREE_PARENT(n)))
5186 TREE_LEFT(TREE_PARENT(n)) = tmp;
5187 else
5188 TREE_RIGHT(TREE_PARENT(n)) = tmp;
5189 } else
5190 t->root = tmp;
5191 TREE_RIGHT(tmp) = n;
5192 TREE_PARENT(n) = tmp;
5193}
5194
5195static void tree_rebalance_insert(struct tree_s *t, struct node_s *n)
5196{

Callers 2

tree_rebalance_insertFunction · 0.85
tree_rebalance_removeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected