salut!je fais une file de sommets et il y a un probleme pour la fonction enfiler, elle n'enfile qu'un seul sommet au delà il y a un segmentation fault!!comment faire pour que le nombre de sommets ne soit pas limité??

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
43
44
45
46
47
48
49
 
/*---------------------------------------------------------
	-- structure sommet
---------------------------------------------------------*/
 
struct SOMMET {
	int marque, cle;
};
typedef struct SOMMET sommet;
 
 
 
/*----------------------------------------
	--structure element file
----------------------------------------*/
 
struct element{
	sommet somet;
	struct element * suivant;
};
 
typedef struct element maillon;
 
typedef struct{
	struct element * tete, *queue;
}File;
 
/*-----------------------------------------------------
	--fonction qui permet d enfiler un nouvel element
-----------------------------------------------------*/
int enfiler(File * pf, sommet pivot)
{
	maillon * m;
	int vide;
	printf("enfiler\t");
	m = (maillon*) malloc (sizeof (maillon));
	if (m != NULL){
		m->somet.cle = pivot.cle;
		m->suivant = NULL;
		vide = est_vide(pf);
		if(vide == 0)
			pf->tete = m;
		if(vide == 1)
			pf->queue->suivant = m;
 
	}
	printf("fin enfiler\n");
	return 1;
}