echo "inserted 1\n";
    $h->insert(2);
    echo "inserted 2\n";
    $h->insert(3);
    echo "inserted 3\n";
} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . "\n";
}
try {
    $h->insert(4);
    echo "inserted 4\n";
} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . "\n";
}
try {
    var_dump($h->extract());
} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . "\n";
}
try {
    var_dump($h->extract());
} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . "\n";
}
echo "Recovering..\n";
$h->recoverFromCorruption();
try {
    var_dump($h->extract());
} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . "\n";
}
Exemplo n.º 2
0
        if ($this->allow_compare == true) {
            if ($v1 > $v2) {
                return 1;
            } else {
                if ($v1 < $v2) {
                    return -1;
                } else {
                    return 0;
                }
            }
        } else {
            throw new Exception('Compare exception');
        }
    }
}
$heap = new myHeap();
$heap->insert(1);
$heap->insert(2);
$heap->insert(3);
$heap->insert(4);
$heap->allow_compare = false;
try {
    $heap->extract();
} catch (Exception $e) {
    echo "Compare Exception: " . $e->getMessage() . PHP_EOL;
}
try {
    $heap->top();
} catch (Exception $e) {
    echo "Corruption Exception: " . $e->getMessage() . PHP_EOL;
}