1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-23 22:52:18 +01:00
Files
archived-doc-fr/reference/spl/datastructures.xml
2026-02-13 22:44:03 +01:00

137 lines
3.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e93feee2870bb551cd11d625271b7f82da3ccb05 Maintainer: jpauli Status: ready -->
<!-- Reviewed: yes -->
<part xml:id="spl.datastructures" xmlns="http://docbook.org/ns/docbook">
<title>Structures de données</title>
<partintro>
<para>
SPL fournit un jeu de structures de données standard. Elles sont regroupées
ici par implémentation, ce qui définit généralement leur champ d'application.
</para>
<section>
<title>Liste doublement chaînées</title>
<para>
Une liste doublement chaînée (<literal>Doubly Linked List</literal> ou DLL)
est une liste de nœud liés dans les deux sens aux autres nœuds. Les opérations
d'itérateurs peuvent se faire dans les deux sens, en addition ou en suppression,
avec un coût de O(1) lorsque la structure sous-jacente est une DLL.
Elle fournit également un support pratique pour les piles et les queues.
</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>Tas</title>
<para>
Les tas sont des structures de type arbre, qui suivent une propriété
caractéristique : chaque nœud est plus grand ou égal que ses enfants,
lorsqu'on les compare avec la méthode implémentée de comparaison, qui est
globale au tas.
</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>Tableaux</title>
<para>
Les <literal>Array</literal> sont des structures qui stockent
les données d'une manière contiguë, et accessible via des index.
</para>
<note>
<simpara>
Ne les confondez pas avec le type <type>array</type> natif de PHP.
Les tableaux PHP sont en réalité des tableaux de hachage ordonnés.
Cependant, SPL fournit la classe <classname>ArrayObject</classname>
pour envelopper les tableaux PHP dans un objet.
</simpara>
</note>
<itemizedlist>
<listitem>
<simpara><classname>SplFixedArray</classname></simpara>
</listitem>
</itemizedlist>
</section>
<section>
<title>Carte (<literal>Map</literal>)</title>
<para>
Une carte est une structure de données qui stocke des paires clé/valeur.
Les tableaux PHP peuvent très bien servir de cartes entre des chaînes ou
entiers et des valeurs. SPL fournit un objet de type carte pour les données.
Cette carte peut aussi servir d'ensemble d'objets.
</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
-->