1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-25 16:22:18 +01:00
Files
archived-doc-ru/reference/spl/datastructures.xml
Sergey Panteleev daef8df962 Обнуление тега Reviewed (#364)
[skip-lint]
[skip-spellcheck]
2021-11-16 13:03:53 +03:00

131 lines
4.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: a706ea6af5e3015603a3ecc0264b846af0ca7a7a Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<part xml:id="spl.datastructures" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&spl.datastructures.intro.title;
<partintro>
<para>
SPL предоставляет набор стандартных структур данных. Они
сгруппированы здесь по своей базовой реализации, которая
обычно определяет их общую область применения.
</para>
<section>
<title>Двусвязные списки</title>
<para>
Двусвязный список (DLL) - это список узлов, связанных в обоих направлениях
друг с другом. Операции итератора, доступ к обоим концам, добавление или
удаление узлов стоимостью O(1), когда основная структура является DLL.
Следовательно, они обеспечивает хорошую реализацию для стеков и очередей.
</para>
<itemizedlist>
<listitem>
<simpara><classname>SplDoublyLinkedList</classname></simpara>
<itemizedlist>
<listitem><simpara><classname>SplStack</classname></simpara></listitem>
<listitem><simpara><classname>SplQueue</classname></simpara></listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>
<section>
<title>Кучи</title>
<para>
Кучи - это древовидные структуры, которые следуют свойствам кучи: каждый узел
больше или равен своим потомкам, при этом для сравнения используется
внедрённый метод сравнения, который является общим для всей кучи.
</para>
<itemizedlist>
<listitem>
<simpara><classname>SplHeap</classname></simpara>
<itemizedlist>
<listitem><simpara><classname>SplMaxHeap</classname></simpara></listitem>
<listitem><simpara><classname>SplMinHeap</classname></simpara></listitem>
</itemizedlist>
</listitem>
<listitem>
<simpara><classname>SplPriorityQueue</classname></simpara>
</listitem>
</itemizedlist>
</section>
<section>
<title>Массивы</title>
<para>
Массивы - структуры, которые хранят данные в непрерывном виде, доступные
через индексы. Не путайте их с массивами PHP: последние на самом деле
реализованы в виде упорядоченных хеш-таблиц.
</para>
<itemizedlist>
<listitem>
<simpara><classname>SplFixedArray</classname></simpara>
</listitem>
</itemizedlist>
</section>
<section>
<title>Карта</title>
<para>
Карта - это структура данных, содержащая пары ключ-значение.
Массивы PHP можно рассматривать как карты, отображающие целые/строковые данные в их значения. SPL предоставляет карту, отображающую объекты к данным. Эта карта также может
быть использована как множество объектов.
</para>
<itemizedlist>
<listitem>
<simpara><classname>SplObjectStorage</classname></simpara>
</listitem>
</itemizedlist>
</section>
</partintro>
&reference.spl.spldoublylinkedlist;
&reference.spl.splstack;
&reference.spl.splqueue;
&reference.spl.splheap;
&reference.spl.splmaxheap;
&reference.spl.splminheap;
&reference.spl.splpriorityqueue;
&reference.spl.splfixedarray;
&reference.spl.splobjectstorage;
</part>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->