Exemplo n.º 1
0
/**
 * Returns the AVL 'height' difference between a node's left and
 * right node.
 *
 * @private
 * @param the node to check
 *
 * @return the difference in height between left and right.
 *         Positive numbers mean right is 'heigher', negative
 *         numbers mean left is heigher, 0 is perfect balance.
 */
static int
height_diff(PropPtr node)
{
    if (node)
        return (height_of(node->right) - height_of(node->left));
    else
        return 0;
}
Exemplo n.º 2
0
static int
height_diff(PropPtr node)
{
	if (node)
		return (height_of(AVL_RT(node)) - height_of(AVL_LF(node)));
	else
		return 0;
}
Exemplo n.º 3
0
/**
 * Recompute the node's height as the larger of its two children + 1
 *
 * @private
 * @param node the node to fix the height of
 */
static void
fixup_height(PropPtr node)
{
    if (node)
        node->height = 1 + MAX(height_of(node->left), height_of(node->right));
}
Exemplo n.º 4
0
static void
fixup_height(PropPtr node)
{
	if (node)
		node->height = 1 + max(height_of(AVL_LF(node)), height_of(AVL_RT(node)));
}