PHP.mk документација

SplMinHeap

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.splminheap.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека class.splminheap.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
SplMinHeap

Референца за `class.splminheap.php` со подобрена типографија и навигација.

class.splminheap.php

Класата SplMinHeap

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Вовед

Класата SplMinHeap ги обезбедува главните функционалности на хип, задржувајќи го минимумот на врвот.

Синопсис на класата

class SplMinHeap extends SplHeap {
/* Методи */
protected function compare(mixed $value1, mixed $value2): int
/* Наследени методи */
protected function SplHeap::compare(mixed $value1, mixed $value2): int
public function SplHeap::count(): int
public function SplHeap::current(): mixed
public function SplHeap::extract(): mixed
public function SplHeap::insert(mixed $value): true
public function SplHeap::isCorrupted(): bool
public function SplHeap::isEmpty(): bool
public function SplHeap::key(): int
public function SplHeap::next(): void
public function SplHeap::rewind(): void
public function SplHeap::top(): mixed
public function SplHeap::valid(): bool
}

Содржина

  • SplMinHeap::compare — Споредете ги елементите за да ги поставите правилно во хипот при просејување нагоре

Белешки од корисници 2 забелешки

gom
пред 6 години
I experimented what happens when arrays are inserted:

<?php
$heap = new SplMinHeap();
$heap->insert([22,333]);
$heap->insert([2,33]);
$heap->insert([222,3]);

var_export($heap->extract());
echo '<br>';
var_export($heap->extract());
echo '<br>';
var_export($heap->extract());
?>

Output:

array ( 0 => 2, 1 => 33, )
array ( 0 => 22, 1 => 333, )
array ( 0 => 222, 1 => 3, )
нди на nospam точка airslash точка нет
10 месеци пред
To expand on gom's comment, SplMinHeap will also take into account the subsequent elements of the array you inserted, if the elements before that are equal.

<?php 
$heap = new SplMinHeap();
$heap->insert([0, 10]);
$heap->insert([0, 30]);
$heap->insert([0, 15]);
while (!$heap->isEmpty()) {
    [$a, $b] = $heap->extract();
    echo "a:$a, b:$b\n";
}
echo "---\n";
$heap->insert([0, 10, 100]);
$heap->insert([0, 10, 300]);
$heap->insert([0, 10, 150]);
while (!$heap->isEmpty()) {
    [$a, $b, $c] = $heap->extract();
    echo "a:$a, b:$b, c:$c\n";
}
?>

will output:

a:0, b:10
a:0, b:15
a:0, b:30
---
a:0, b:10, c:100
a:0, b:10, c:150
a:0, b:10, c:300
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.