Maison > développement back-end > C++ > le corps du texte

Dia - Réimplémentation d'une liste circulaire doublement liée

Susan Sarandon
Libérer: 2024-10-20 06:11:30
original
220 Les gens l'ont consulté

J'ai apporté quelques ajustements à la version initiale de ma liste, elle répond désormais aux exigences énoncées dans le matériel du professeur Maziero. Je l'ai ajusté pour réussir les tests, et j'ai également décidé d'utiliser readapt pour C. La compilation avec le fichier de test disponible semblait ainsi moins problématique.

En revisitant le code de cette liste, j'avais besoin de revisiter des listes plus simples qui précèdent celle circulaire à double chaîne, afin d'avoir pu élaborer un raisonnement solide lors du codage.

Liste doublement chaînée

C'est une structure dans laquelle chaque nœud contient trois parties : valeur, pointeur vers le nœud suivant et pointeur vers le nœud précédent.

Permet la navigation bidirectionnelle, et pour supprimer ou ajouter un nœud, il suffit d'ajuster les points du nœud précédent et suivant.

[head] <-> [nó1] <-> [nó2] <-> [tail]
Copier après la connexion

Liste circulaire

Il peut être simplement chaîné (sens unilatéral) ou double chaîné (c'est ce que j'utilise pour le projet).
Le dernier nœud de la liste est connecté au premier, ce qui signifie que la liste n'a pas de point final naturel.
La liste peut être parcourue indéfiniment, car lorsqu'elle arrive à la fin, elle revient au début.

Liste circulaire doublement liée et sa relation avec les systèmes d'exploitation

L'utilisation d'une liste circulaire à double lien confère au système d'exploitation une fonction de mise à l'échelle circulaire.

Cela dit, une fois le dernier processus exécuté, le système revient au premier et continue l'exécution.

Imaginer qu'un système d'exploitation comporte trois processus :

[P1] <-> [P2] <-> [P3] <-> [P1] ...
Copier après la connexion

Une fois que P3 a terminé son temps d'exécution, la liste reviendra directement à P1, garantissant une exécution continue.

Le code actuel du système d'exploitation peut être trouvé ici.

Dia - Reimplementando lista circular duplamente encadeada

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!