Bonjour a tous,

Depuis hier soir j'essai de developper l'algorithme de parcours de graphe. J'ai 2 structure(liste chainée) une pour les noeud l'autre pour les arc. J'ai essayer par ce code, en commencant par le noeud 0 (int depart) cela marche pour le debut:
Ca affiche:
V[0]:0
V[1]:4
V[2]:3
V[3]:2
V[4]:6
V[5]:3
V[6]:-1

Au lieu d'afficher:
0
4
3
2
6
1
5


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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
void largeur()
{
	int depart=0;
	int i;
	int *V;
	Gare * garess =liste_gare;
	Rail * railss =liste_rail;
	int nbnd=image.nb_gare;
	V=(int *)malloc(sizeof(int)*nbnd);
	for(i=0;i<nbnd;i++)
		{
		V[i]=-1;
		}
	i=0;
	V[i]=depart;
	i++;
	while(garess->suiv!=NULL)
	{
	depart=V[i-1];
	if(garess->id==depart)
	{
	Rail * railss =liste_rail;
 
	while(railss->suiv!=NULL)
	{
		if(railss->idGareDep==depart)
		{
		V[i]=railss->idGareDar;
		printf("V[%d]=%d\n",i,V[i]);
		i++;
		}
	railss=railss->suiv;
	}
	}
	garess=garess->suiv;
	}
for(i=0,j=0;i<nbnd;i++,j++)
		{
		printf("V[%d]:%d\n",i,V[i]);
		}
 
}
Est ce que qqun pourrait m'aider a resoudre ce probleme?

Merci d'avance