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, 21:59:43
References: 1 2
|
animatrix30@gmail.com wrote:
>>>> 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 ?
>
> Oui, elle ne concerne qu'un élément (le reste est inséré un peu plus
> tard).
> La liste est vide au départ.
>
>>> 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 .
>
> DC := LC;
> allouer(a);
> a.el = unedonneevalide;
> a.suiv := LC;
> LC := a;
> DC := a.suiv; -- nécessaire pour ajouter la suite
>
>>> Il manque: allouer(a);
>
> allouer(a);
> a.el := unedonne;
> a.suiv := DC.suiv;
> DC.suiv := a;
> DC := DC.suiv;
> a.suiv := DC;
^ hum, là tu fais: a.suiv:= a...
> J'ai un access check failed sur a.suiv := DC.suiv; (que j'avais tout
> de même sans le allouer(a))
C'est compréhensible, puisque dans la 1ère phase tu as mis (à deux reprises!)
dans DC l'adresse LC d'avant "LC:= a;" qui n'était pas alloué (=null ou adresse
aléatoire)...
Si tu sais que ta liste doit être vide au départ, pourquoi ne pas commencer par
allouer(LC);
LC.el := unedonneevalide;
LC.suiv:= null;
DC:= LC;
______________________________________________________________
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 !
|