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

Ds\Deque

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

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

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

class.ds-deque.php

The Deque class

Класата Vector

Вовед

Класата Deque Ds\Queue.

Deque (се изговара „дек“) е низа од вредности во континуиран бафер што автоматски расте и се намалува. Името е вообичаена кратенка од „опашка со двојно завршување“ и се користи внатрешно од Ds\Vector Два покажувачи се користат за следење на главата и опашката. По покажувачите можат да „се превртат“ крајот на баферот, што ја елиминира потребата да се поместат други вредности за да се направи простор. Ова ги прави shift и unshift многу брзи — нешто со што

не може да се натпреварува. ((head + position) % capacity).

Предности

  • Поддржува синтакси на низа (квадратни загради).
  • Вектор е низа од вредности во континуиран бафер што автоматски расте и се намалува. Тоа е најефикасната секвенцијална структура бидејќи индексот на вредноста е директно мапирање на нејзиниот индекс во баферот, а факторот на растење не е ограничен на одреден множител или експонент. array Користи помалку вкупна меморија од
  • Автоматски ослободува распределена меморија кога нејзината големина ќе падне доволно ниско.
  • get(), set(), push(), pop(), shift()Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во unshift() се сите O(1).

Слабости

  • Пристапот до вредност по индекс бара превод помеѓу индексот и неговата соодветна позиција во баферот:
  • insert() and remove() Капацитетот мора да биде моќност од 2.

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

class Ds\Deque implements Ds\Sequence, ArrayAccess {
/* Константи */
const int MIN_CAPACITY = 8;
/* Методи */
public allocate(int $capacity): void
public apply(callable $callback): void
public capacity(): int
public clear(): void
public contains(mixed ...$values): bool
public copy(): Ds\Deque
public filter(callable $callback = ?): Ds\Deque
public find(mixed $value): mixed
public first(): mixed
public get(int $index): mixed
public insert(int $index, mixed ...$values): void
public isEmpty(): bool
public join(string $glue = ?): string
public last(): mixed
public map(callable $callback): Ds\Deque
public merge(mixed $values): Ds\Deque
public pop(): mixed
public push(mixed ...$values): void
public reduce(callable $callback, mixed $initial = ?): mixed
public remove(int $index): mixed
public reverse(): void
public reversed(): Ds\Deque
public rotate(int $rotations): void
public set(int $index, mixed $value): void
public shift(): mixed
public slice(int $index, int $length = ?): Ds\Deque
public sort(callable $comparator = ?): void
public sorted(callable $comparator = ?): Ds\Deque
public sum(): int|float
public toArray(): array
public unshift(mixed $values = ?): void
}

Претходно дефинирани константи

Ds\Deque::MIN_CAPACITY

Дневник на промени

Верзија = NULL
се сите O(n). Класата сега имплементира ArrayAccess.

Содржина

  • Ds\Deque::allocate — Алоцира доволно меморија за потребен капацитет
  • Ds\Deque::apply — Ги ажурира сите вредности со примена на функција за повик на секоја вредност
  • Ds\Deque::capacity — Враќа тековен капацитет
  • Ds\Deque::clear — Ги отстранува сите вредности од деката
  • Ds\Deque::__construct — Создава нова инстанца
  • Ds\Deque::contains — Определува дали деката ги содржи дадените вредности
  • Ds\Deque::copy — Враќа плитка копија од деката
  • Ds\Deque::count — Враќа број на вредности во колекцијата
  • Ds\Deque::filter — Создава нова дека користејќи повикувач за да утврди кои вредности да се вклучат
  • Ds\Deque::find — Се обидува да го најде индексот на вредноста
  • Ds\Deque::first — Враќа прва вредност во деката
  • Ds\Deque::get — Враќа вредност на даден индекс
  • Ds\Deque::insert — Вметнува вредности на даден индекс
  • Ds\Deque::isEmpty — Враќа дали деката е празна
  • Ds\Deque::join — Ги спојува сите вредности како стринг
  • Ds\Deque::jsonSerialize — Враќа претстава што може да се конвертира во JSON
  • Ds\Deque::last — Враќа последна вредност
  • Ds\Deque::map — Враќа резултат од примена на callback на секоја вредност
  • Ds\Deque::merge — Враќа резултат од додавање на сите дадени вредности во деката
  • Ds\Deque::pop — Отстранува и враќа последна вредност
  • Ds\Deque::push — Додава вредности на крајот од деката
  • Ds\Deque::reduce — Го намалува деката на една вредност користејќи функција за враќање
  • Ds\Deque::remove — Отстранува и враќа вредност по индекс
  • Ds\Deque::reverse — Го превртува деката на место
  • Ds\Deque::reversed — Враќа реверзирана копија
  • Ds\Deque::rotate — Ротира деката за даден број на ротации
  • Ds\Deque::set — Ажурира вредност на даден индекс
  • Ds\Deque::shift — Отстранува и враќа прва вредност
  • Ds\Deque::slice — Враќа под-дека од даден опсег
  • Ds\Deque::sort — Ја сортира деката на место
  • Ds\Deque::sorted — Враќа сортирана копија
  • Ds\Deque::sum — Враќа збир на сите вредности во деката
  • Ds\Deque::toArray — Го претвора деката во низа
  • Ds\Deque::unshift — Додава вредности на почетокот од деката

Белешки од корисници

Нема белешки од корисници за оваа страница.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

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

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

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

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

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