[C++] ,liste simplement chainnée
Résolu/Fermé
sifane1
Messages postés
1
Date d'inscription
lundi 16 janvier 2012
Statut
Membre
Dernière intervention
16 janvier 2012
-
Modifié par sifane1 le 16/01/2012 à 20:40
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 janv. 2012 à 11:11
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 janv. 2012 à 11:11
A voir également:
- [C++] ,liste simplement chainnée
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste site streaming illégal - Accueil - Services en ligne
- Liste code ascii - Guide
- Liste groupe whatsapp - Guide
1 réponse
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 janv. 2012 à 11:11
17 janv. 2012 à 11:11
void Biblio::Suprimmer(string titre) { Document*k=tete,*p=tete->suivant; // deux pointeur qui ce précédent et qui vont parcourir ma bibliotheque. ( tete est la tete de ma biblio) if(k==NULL) // bibliotheque vide cout<<"la bibliotheque est dejas vide"<<endl; else { if(k->Gettitre()==titre) // supression au debut de ma bibliotheque { tete=p; delete k; } else// supression d'un element dans ma bibliotheque { while(p->suivant!=NULL)//!=null// si tu n' a qu'un element (tete->suivant=0) p est nul et p->suivant retourne une erreur de seg. { if(p->Gettitre()==titre) // avec des test j'ai constaté que c'est ce qu'il y'a à l'intérieur du if qui fait beuger le programme, pourtant c'est juste non? :/. { k->suivant=p->suivant; delete p; } else { p=p->suivant; k=k->suivant; } } if(p->Gettitre()==titre) //supression d'un element à la fin { k->suivant=NULL; delete p; } else cout<<" le document a suprimer ne figure pas dans la bibliotheque"<<endl; } }En fait, je pense while(p!=NULL) devrait suffire.
normalement la fin doit être incluse dedans (pas la peine de faire une traitement particulier.