Exemple #1
0
<?php

$heap = new SplMaxHeap();
$heap->insert(42);
foreach ($heap as $key => $value) {
    var_dump($key);
    var_dump($value);
    break;
}
$heap = new SplMaxHeap();
$heap->insert(42);
var_dump($heap->key());
var_dump($heap->current());
Exemple #2
0
// insert($value, $priority)
// 优先队列插入新值
//$heap->insert('A', '3');
//$heap->insert('B', '1');
//$heap->insert('C', '2');
//$heap->insert('D', '5');
//$heap->insert('E', '4');
// isEmpty()
// 判断该堆是否为空
$heap->isEmpty();
// count()
// 获得堆值的数量
$heap->count();
// key()
// 返回当前节点的索引值
$heap->key();
// valid()
// 判断堆中还是否有其他节点
$heap->valid();
// rewind()
// 返回首节点,在堆中是空操作。因为堆是二叉树,rewind始终会在当前位置而不移动
$heap->rewind();
// current()
// 获得当前节点
$heap->current();
// next()
// 指针移向下一个节点
$heap->next();
// extract()
// 从堆的顶部根节点开始,从左到右,抛出一个节点
$heap->extract();