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/ds/ds.deque.xml
Louis-Arnaud 7502bf6bc9 Fix/reference apache ini sync en (#2411)
* Fix French type name: ressource -> resource
* Fix tag: interfacename -> classname for ArrayAccess
* Sync markup with EN: fix inline tag type
* Sync structure with EN
* Fix tag: interfacename -> classname for ArrayAccess
* Sync markup with EN: fix tag types
* fix(apache/ini): sync markup with EN - remove extra literal tag, update revision
2026-02-06 14:10:41 +01:00

168 lines
5.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: lacatoire Status: ready -->
<!-- Reviewed: yes -->
<reference xml:id="class.ds-deque" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>La classe Deque</title>
<titleabbrev>Ds\Deque</titleabbrev>
<partintro>
<!-- {{{ Ds\Deque intro -->
<section xml:id="ds-deque.intro">
&reftitle.intro;
<para>
Un Deque (prononcé “deck”) est une séquence de valeurs
dans un tampon contigu qui grandit et rétrécit automatiquement.
Le nom est une abréviation courante de “double-ended queue” et est utilisé
en interne par <classname>Ds\Queue</classname>.
</para>
<para>
Deux pointeurs sont utilisés pour garder une trace d'une tête et d'une queue. Les pointeurs peuvent
“enrouler” la fin du tampon, ce qui évite de déplacer d'autres valeurs pour
faire de la place. Cela rend shift et unshift très rapides —
quelque chose qu'un <classname>Ds\Vector</classname> ne peut pas concurrencer.
</para>
<para>
Accéder à une valeur par index nécessite une traduction entre l'index et sa
position correspondante dans le tampon : <code>((head + position) % capacity)</code>.
</para>
</section>
<!-- }}} -->
<section xml:id="ds-deque.strengths">
<title xmlns="http://docbook.org/ns/docbook">Forces</title>
<para>
<simplelist>
<member>Support de la syntaxe de tableau (crochets).</member>
<member>Utilise moins de mémoire globale qu'un &array; pour le même nombre de valeurs.</member>
<member>Libère automatiquement la mémoire allouée lorsque sa taille devient suffisamment faible.</member>
<member>
<function>get</function>,
<function>set</function>,
<function>push</function>,
<function>pop</function>,
<function>shift</function>, et
<function>unshift</function> sont tous de complexité O(1).
</member>
</simplelist>
</para>
</section>
<section xml:id="ds-deque.weaknesses">
<title xmlns="http://docbook.org/ns/docbook">Faiblesses</title>
<para>
<simplelist>
<member>La capacité doit être une puissance de 2.</member>
<member>
<function>insert</function> et
<function>remove</function> sont de complexité O(n).
</member>
</simplelist>
</para>
</section>
<section xml:id="ds-deque.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass><classname>Ds\Deque</classname></ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>Ds\Deque</classname>
</ooclass>
<oointerface>
<interfacename>Ds\Sequence</interfacename>
</oointerface>
<oointerface>
<interfacename>ArrayAccess</interfacename>
</oointerface>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">&Constants;</classsynopsisinfo>
<fieldsynopsis>
<modifier>const</modifier>
<type>int</type>
<varname linkend="ds-deque.constants.min-capacity">Ds\Deque::MIN_CAPACITY</varname>
<initializer>8</initializer>
</fieldsynopsis>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.ds-deque')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis)">
<xi:fallback/>
</xi:include>
</classsynopsis>
<!-- }}} -->
</section>
<!-- {{{ Ds\Deque constants -->
<section xml:id="ds-deque.constants">
&reftitle.constants;
<variablelist>
<varlistentry xml:id="ds-deque.constants.min-capacity">
<term><constant>Ds\Deque::MIN_CAPACITY</constant></term>
<listitem>
<para></para>
</listitem>
</varlistentry>
</variablelist>
</section>
<!-- }}} -->
<section role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>PECL ds 1.3.0</entry>
<entry>
La classe implémente maintenant <classname>ArrayAccess</classname>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</section>
</partintro>
&reference.ds.ds.entities.deque;
</reference>
<!-- 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
-->