bool bst_is_equal(bst_t bst, bst_t other) { switch (bst_type(bst) == bst_type(other)) { case true: if (bst_type(bst) == isNotEmpty) { return (pair_is_equal(bst->pair, other->pair) && bst_is_equal(bst->izq, other->izq) && bst_is_equal(bst->der, other->der)); } else { return true; } break; default: return false; break; } }
bool bst_is_equal(bst_t bst, bst_t other) { bool result = true; /* */ if (bst != NULL && other != NULL) { result = pair_is_equal(bst->pair, other->pair); if (result) { result = bst_is_equal(bst->left, other->left); } if (result) { result = bst_is_equal(bst->right, other->right); } } else if (bst != NULL || other != NULL) { result = false; } return (result); }