rabzouze | Bonjour,
Mon soucis est que j'aimerais supprimer le premiere élement de la liste.
Mais je ne sait pas comment tester si je suis sur le premier elemen ou non
Ma suppresion fonctionne avec tous les autres élements.
Code :
- /*********Suppr**********/
- void suprAvecLettre(char c,Liste *l)
- {
- Liste p,prec;
- if (estVide(*l)==faux)
- {
- prec=Precedent(c,*l);
- if (((prec->suiv==NULL)) || (prec->suiv->c)!=c )
- {
- printf("La lettre tapé n'est pas dans la liste" );
- }
- else
- {
- p=prec->suiv;
- prec->suiv=p->suiv;
- free(p);
- }
- }
- else
- {
- printf("La Liste est vide" );
- }
- }
|
Code maintenant avec teste mais je n'en suis pas sur
Code :
- Liste Precedent(char c,Liste l) // renvoi l'element precedent c
- {
- Liste q,prec;
- prec=l;
- q=l->suiv;
- while(q!=NULL && ((char)q->c) < ((char)c))
- {
- prec=q;
- q=q->suiv;
- }
- return prec;
- }
- /*********Suppr**********/
- void suprAvecLettre(char c,Liste *l)
- {
- Liste p,prec;
- if (estVide(*l)==faux)
- {
- if (*l)
- {
- prec=*l;
- prec->suiv=p->suiv;
- free(p);
- }
- else
- {
- prec=Precedent(c,*l);
- if (((prec->suiv==NULL)) || (prec->suiv->c)!=c )
- {
- printf("La lettre tapé n'est pas dans la liste" );
- }
- else
- {
- p=prec->suiv;
- prec->suiv=p->suiv;
- free(p);
- }
- }
- }
- else
- {
- printf("La Liste est vide" );
- }
- }
|
|