Exemplo n.º 1
0
<?php

class SplMinHeap2 extends SplMinHeap
{
    protected function compare($a, $b)
    {
        return -parent::compare($a, $b);
    }
}
$h = new SplMinHeap2();
$h->insert(1);
$h->insert(6);
var_dump($h->top());
class SplMaxHeap2 extends SplMaxHeap
{
    protected function compare($a, $b)
    {
        return -parent::compare($a, $b);
    }
}
$h = new SplMaxHeap2();
$h->insert(1);
$h->insert(6);
var_dump($h->top());
Exemplo n.º 2
0
<?php

class SplMinHeap2 extends SplMinHeap
{
    public function compare($a, $b)
    {
        return -parent::compare($a, $b);
    }
}
$h = new SplMinHeap2();
$h->insert(1);
$h->insert(6);
$h->insert(5);
$h->insert(2);
var_dump($h->top());
class SplMaxHeap2 extends SplMaxHeap
{
    public function compare($a, $b)
    {
        return -parent::compare($a, $b);
    }
}
$h = new SplMaxHeap2();
$h->insert(1);
$h->insert(6);
$h->insert(5);
$h->insert(2);
var_dump($h->top());
Exemplo n.º 3
0
<?php

// override heap to force corruption by throwing exception in compare
class SplMinHeap2 extends SplMinHeap
{
    public function compare($a, $b)
    {
        throw new Exception('Corrupt heap');
    }
}
$h = new SplMinHeap2();
// insert 2 elements to hit our overridden compare
$h->insert(4);
try {
    $h->insert(5);
} catch (Exception $e) {
}
// call top, should fail with corrupted heap
try {
    $h->top();
} catch (Exception $e) {
    echo $e->getMessage();
}