liste chaine: boucle infini dans la procedure daffichage
salut
voila jai une liste chainée avec un procedure d'intersion qui insert au debut ou au milieu de ma liste mes objets (des chocolat classé par poids)
j'ai crée une procedure de parcours qui fonctionne tres bien pour linsertion au debut mais pas pour linsertion au milieu
je ne comprend pas pourquoi cela plante
donc voici la procedure d'insertion au milieu:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
//Les chocolats seront classés par poid
void liste_chocolat::insertion_milieu(chocolat *ptinsert)
{
//declaration de ptcoutant et ptprecedent : pointeur de chocolat
chocolat *ptcourant;
chocolat *ptprecedent;
//ptcourant recoit premier
ptcourant=premier;
/*tant que ptcourant n'est pas nul et que le poid de ptinsert est surpperieur a celui de ptcourant faire
ptprecedent recoit ptcourant
ptcourant recoit ptinsert
fin de boucle*/
while((ptcourant!=NULL)&&(ptinsert->get_poid()>ptcourant->get_poid()))
{
ptprecedent=ptcourant;
ptcourant=ptinsert;
}
ptinsert->setsuivant(ptcourant);
ptprecedent->setsuivant(ptinsert);
} |
et voici la procedure de parcours:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
void liste_chocolat::parcours()
{
// declaration d'un pointeur ptcourant de type chocolat//
chocolat *ptparcours;
ptparcours= premier;
while (ptparcours!=NULL)
{
ptparcours->affichage();
ptparcours=ptparcours->getsuivant();
}
} |
voila merci par avance