accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Question à propos des listes chaînées

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.ada ] 

Retour : Accueil du site fr comp lang ada   charte stats de ce groupe


  Sujet:   Re: Question à propos des listes chaînées  
 De: animatri...@gmail.com
 Groupes: fr.comp.lang.ada
 Organisation: http://groups.google.com
 Date: 08. Mar 2008, 13:25:21
 References: 1 2
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


DateSujet  Auteur
08.03.
* Question à propos de
animatrix30
08.03.
`* Re: Question à propos de
Gautier
08.03.
 `* Re: Question à propos de
animatrix30
08.03.
  `* Re: Question à propos de
Gautier
08.03.
   `*   Re: Question à propos de
animatrix30
09.03.
    `* Re: Question à propos de
animatrix30
09.03.
     `* Re: Question à propos de
Gautier
09.03.
      `* Re: Question à propos de
animatrix30
10.03.
       `* Re: Question à propos de
Anthony Gelibert
10.03.
        `* Re: Question à propos de
animatrix30
10.03.
         `* Re: Question à propos de
Anthony Gelibert
11.03.
          `- Re: Question à propos de
animatrix30
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)