>  기사  >  백엔드 개발  >  PHP는 SPL 표준 라이브러리를 사용하여 배열에서 가장 작은 K 값을 얻습니다.

PHP는 SPL 표준 라이브러리를 사용하여 배열에서 가장 작은 K 값을 얻습니다.

WBOY
WBOY원래의
2016-08-08 09:22:121041검색
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 . '<br/>';
}

위 내용은 배열에서 가장 작은 K 값을 얻기 위한 PHP의 SPL 표준 라이브러리 사용 방법을 소개하며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.