Пример #1
0
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;
    }
}
Пример #2
0
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);
}