English | 简体中文 | 繁體中文
查询

SplHeap::extract()函数—用法及示例

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


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

补充纠错
上一个函数: SplHeap::insert()函数
下一个函数: SplHeap::current()函数
热门PHP函数
分享链接