1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-25 00:02:09 +01:00
Files
archived-doc-ru/reference/spl/datastructures.xml
2024-12-11 11:55:20 +03:00

137 lines
4.6 KiB
XML
Raw Permalink 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: e93feee2870bb551cd11d625271b7f82da3ccb05 Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<part xml:id="spl.datastructures" xmlns="http://docbook.org/ns/docbook">
<title>Структуры данных</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>
Массивы структуры, которые хранят данные в непрерывном виде, доступные
через индексы.
</para>
<note>
<simpara>
Не путайте их с типом PHP <type>array</type>.
Массивы PHP являются упорядоченными хеш-таблицами.
Однако SPL предоставляет класс <classname>ArrayObject</classname>,
чтобы обернуть PHP-массивы в объект.
</simpara>
</note>
<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.arrayobject;
&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
-->