Man page - queue(7)

Packages contains this manual

Available languages:

en fr ro

Manual

queue

NOM
DESCRIPTION
Listes simplement chaßnées (SLIST)
Files d’attente finies simplement chaĂźnĂ©es (STAILQ)
Structures de données doublement chaßnées
Listes doublement chaĂźnes (LIST)
Files d’attente finies doublement chaĂźnĂ©es (TAILQ)
Files d’attente circulaires doublement chaĂźnĂ©es (CIRCLEQ)
STANDARDS
HISTORIQUE
NOTES
VOIR AUSSI
TRADUCTION

NOM

queue – implĂ©mentations de listes et de files d’attente chaĂźnĂ©es

DESCRIPTION

Le fichier d’en-tĂȘte <sys/queue.h> fournit un ensemble de macros qui dĂ©finissent et opĂšrent sur les structures suivantes :

SLIST

Listes simplement chaßnées

LIST

Liste doublement chaßnées

STAILQ

Files d’attente finies simplement chaĂźnĂ©es

TAILQ

Files d’attente finies doublement chaĂźnĂ©es

CIRCLEQ

Files d’attente circulaires doublement chaĂźnĂ©es

Toutes les structures prennent en charge les fonctionnalités suivantes :

-

insertion d’un nouvel Ă©lĂ©ment en tĂȘte de liste ;

-

insertion d’un nouvel Ă©lĂ©ment aprĂšs n’importe quel Ă©lĂ©ment dans la liste ;

-

0(1) suppression d’un Ă©lĂ©ment en tĂȘte de liste ;

-

traversée en avant de la liste.

La taille du code et le temps d’exĂ©cution dĂ©pendent de la complexitĂ© de la structure de donnĂ©es utilisĂ©e, aussi les programmeurs doivent choisir avec soin celle appropriĂ©e.

Listes simplement chaßnées (SLIST)

Les listes simplement chaĂźnĂ©es sont les plus simples et ne prennent en charge que les fonctionnalitĂ©s ci-dessus. Elles sont idĂ©ales pour les applications avec de grands jeux de donnĂ©es et peu ou pas de suppressions, ou pour mettre en Ɠuvre une pile LIFO. Elles ajoutent la fonctionnalitĂ© suivante :

-

O(n) suppression de n’importe quel Ă©lĂ©ment de la liste.

Files d’attente finies simplement chaĂźnĂ©es (STAILQ)

Les files d’attente finies simplement chaĂźnĂ©es ajoutent les fonctionnalitĂ©s suivantes :

-

des Ă©lĂ©ments peuvent ĂȘtre ajoutĂ©s en fin de liste ;

-

O(n) suppression de n’importe quel Ă©lĂ©ment de la liste.

-

les Ă©lĂ©ments peuvent ĂȘtre concatĂ©nĂ©s.

Cependant :

-

toutes les insertions doivent indiquer la tĂȘte de la liste ;

-

chaque Ă©lĂ©ment de tĂȘte de liste nĂ©cessite deux pointeurs au lieu d’un seul.

Les files d’attente finies simplement chaĂźnĂ©es sont idĂ©ales pour les applications avec de grands jeux de donnĂ©es et peu ou pas de suppressions, ou pour mettre en Ɠuvre une file FIFO.

Structures de données doublement chaßnées

De plus, tous les types doublement chaĂźnĂ©s de structures de donnĂ©es (listes et files d’attente finies) permettent :

-

l’insertion d’un nouvel Ă©lĂ©ment avant n’importe quel Ă©lĂ©ment de la liste ;

-

O(1) suppression de n’importe quel Ă©lĂ©ment de la liste.

Cependant :

-

chaque Ă©lĂ©ment nĂ©cessite deux pointeurs au lieu d’un seul.

Listes doublement chaĂźnes (LIST)

Les listes chaßnées sont la forme la plus simple des structures de données doublement chaßnées. Elles ajoutent la fonctionnalité suivante à celles ci-dessus :

-

elles peuvent ĂȘtre traversĂ©es en arriĂšre.

Cependant :

-

Pour une traversĂ©e en arriĂšre, un Ă©lĂ©ment de dĂ©but de traversĂ©e et la liste Ă  laquelle il appartient doivent ĂȘtre indiquĂ©es.

Files d’attente finies doublement chaĂźnĂ©es (TAILQ)

Les files d’attente finies ajoutent les fonctionnalitĂ©s suivantes :

-

des Ă©lĂ©ments peuvent ĂȘtre ajoutĂ©s en fin de liste ;

-

elles peuvent ĂȘtre traversĂ©es en arriĂšre, de la queue Ă  la tĂȘte ;

-

les Ă©lĂ©ments peuvent ĂȘtre concatĂ©nĂ©s.

Cependant :

-

toutes les insertions et suppressions d’élĂ©ment de liste doivent mentionner la tĂȘte de la liste ;

-

chaque Ă©lĂ©ment de tĂȘte de liste nĂ©cessite deux pointeurs au lieu d’un seul.

Files d’attente circulaires doublement chaĂźnĂ©es (CIRCLEQ)

Les files d’attente circulaires ajoutent la fonctionnalitĂ© suivante Ă  celles ci-dessus :

-

le premier et le dernier élément sont connectés.

Cependant :

-

La condition terminale pour la traversée est plus complexe.

STANDARDS

BSD.

HISTORIQUE

Les macros <sys/queue.h> sont apparues dans 4.4BSD.

NOTES

Quelques BSD fournissent SIMPLEQ au lieu de STAILQ. Elles sont identiques, mais pour des raisons historiques elles ont Ă©tĂ© nommĂ©es diffĂ©remment selon les BSD. STAILQ tire son origine de FreeBSD et SIMPLEQ de NetBSD. Pour des raisons de compatibilitĂ©, certains systĂšmes fournissent les deux. La glibc fournit STAILQ et SIMPLEQ qui sont identiques Ă  l’exception d’un Ă©quivalent SIMPLEQ Ă  STAILQ_CONCAT () manquant.

VOIR AUSSI

circleq (3), insque (3), list (3), slist (3), stailq (3), tailq (3)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .