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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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