/* Balancing AVL Tree */ avl_node *avlTree::balance(avl_node *temp) { int bal_factor = diff(temp); if (bal_factor > 1) { if (diff(temp->left) > 0) temp = ll_rotation(temp); else temp = lr_rotation(temp); } else if (bal_factor < -1) { if (diff(temp->right) > 0) temp = rl_rotation(temp); else temp = rr_rotation(temp); } return temp; }
WDBKeyIndex::WDBKeyIndexNode *WDBKeyIndex::balance(WDBKeyIndexNode *temp) { int bal_factor = diff (temp); if (bal_factor >1) { if (diff (temp->left) > 0) temp = ll_rotation (temp); else temp = lr_rotation (temp); } else if (bal_factor < 1) { if (diff (temp->right) > 0) temp = rl_rotation (temp); else temp = rr_rotation (temp); } return temp; }