Re: Question à propos des listes chaî nées
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.ada ]
Sujet: Re: Question à propos des listes chaî nées
De: gaut...@fakeaddress.nil (Gautier)
Groupes: fr.comp.lang.ada
Organisation: Bluewin AG
Date: 08. Mar 2008, 20:16:00
References: 1
|
animatrix30@gmail.com wrote:
> Bonjour à tous !!
Salut!
> 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
> 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).
Est-ce que ton insertion en tête ne concerne qu'un seul élément ?
Est-ce que la liste est vide ou non au départ ?
> 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
Si ta liste est non définie, LC est contient une adresse bidon et c'est mal
parti.
Si l'élément a doit être le 1er de la liste, il manque encore: LC:= a .
> -- Insertion à la suite (via un while)
Il manque: allouer(a);
> 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 ?
En espérant t'aider...
______________________________________________________________
Gautier -- http://www.mysunrise.ch/users/gdm/index.htm
Ada programming -- http://www.mysunrise.ch/users/gdm/gsoft_fr.htm
NB: For a direct answer, e-mail address on the Web site!

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