时间:2021-07-01 10:21:17 帮助过:38人阅读
class MaxHeap extends SplHeap{ public function compare($value1, $value2) { return ($value1 - $value2); } public function GetKMinNum($arr, $k){ if(is_array($arr) && $k > 0){ $count = count($arr); for($i=0; $i<$count; $i++){ if($i < $k){ $this->insert($arr[$i]); }else{ $top = $this->top(); if($top > $arr[$i]){ $this->extract(); $this->insert($arr[$i]); } } } } return $this; } }
$heap = new MaxHeap(); $arr = array(); for($i=0; $i<100000; $i++){ $arr[] = rand(100, 1000000); } $min = $heap->GetKMinNum($arr, 7); foreach($min as $val){ echo $val . '
'; }
以上就介绍了PHP 利用SPL标准库获取数组中最小的K个值,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。