SplHeap::extract()

从堆中提取并移除最小(或最大)的元素

首字母:S

函数名: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),然后将该值输出。请注意,由于我们创建的是最大堆,所以提取的元素是堆中的最大值。

同首字母函数