Question à propos des listes chaînées
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.ada ]
Bonjour à tous !!
J'ai une question à propos des listes chaînées.
Voici tout d'abord, mes spécifications :
type adresse is access doublet;
type doublet is record -- Le type pointeur de doublet
el : Donnee;
suiv : adresse;
end record;
procedure liberer is new unchecked_deallocation(doublet, adresse);
J'aimerais créer une liste chaînée, où je prends dans un premier temps
un élément (insertion en tête), puis je veux insérer à la suite (aucun
ordre).
Soit :
LC : adresse; -- Ma liste
DC : adresse; -- Elément courant
a : adresse;
-- Dans un premier temps l'insertion en tête
DC := LC;
allouer(a);
a.el = unedonneevalide;
a.suiv := LC;
DC := a.suiv; -- nécessaire pour ajouter la suite
-- Insertion à la suite (via un while)
a.el := unedonneevalide; -- l'élément à insérer
a.suiv := DC.suiv; -- Insertion après le doublet
d'adresse DC
DC.suiv := a;
DC := DC.suiv;
Sauf que j'ai une liste qui renvoi un résultat totalement faux et je
n'arrive pas à voir pourquoi.
Pourriez-vous m'expliquer ou me dire où se trouve l'erreur ?
Merci beaucoup

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|