Re: Question à propos des listes chaînées
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.ada ]
On 8 mar, 21:59, Gautier <gaut...@fakeaddress.nil> wrote:
> animatri...@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!
Merci.
Pour l'ajout à la suite, j'ai fait un
allouer(a);
a.el := unedonnee;
a.suiv := DC.suiv;
DC.suiv := a;
DC := DC.suiv;
Et ca marche :)
Par contre, j'aimerais pouvoir supprimer les deux derniers éléments de
la séquence.
Comment faire sachant, que je n'ai pas un DC.prec ?
Il faut que je recherche l'emplacement ?
Merci pour l'aide

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