函式名: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),然後將該值輸出。請注意,由於我們建立的是最大堆,所以提取的元素是堆中的最大值。