函数名:SplHeap::extract()
适用版本:PHP 5 >= 5.3.0, PHP 7
用法:SplHeap::extract() 方法用于从堆中提取并移除最小(或最大)的元素。提取的元素将被从堆中删除,并返回该元素的值。
语法:public SplHeap::extract ( void ) : mixed
参数:无
返回值:提取的元素的值,如果堆为空则返回 NULL。
示例:
// 创建一个最大堆
class MaxHeap extends SplMaxHeap {
public function compare($value1, $value2) {
return $value1 - $value2;
}
}
// 实例化最大堆
$heap = new MaxHeap();
// 添加元素到堆中
$heap->insert(10);
$heap->insert(5);
$heap->insert(8);
$heap->insert(15);
// 提取并移除最大的元素
$extractedValue = $heap->extract();
echo "提取的元素值为:" . $extractedValue; // 输出:提取的元素值为:15
在上面的示例中,我们创建了一个最大堆(MaxHeap),并向堆中添加了一些元素。然后我们使用SplHeap::extract()方法提取并移除了堆中的最大元素(值为15),然后将该值输出。请注意,由于我们创建的是最大堆,所以提取的元素是堆中的最大值。