Bonjour

je suis entraine d'ecrire une fonction pour recherche un elt dans une liste s'il le trouve il me renvoie 1 sinon 0 comme je pouvais eviter d'inserer des elts existant deja dans la liste mais au niveau de l'appel il se plante fault segmentaion
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
 
int searchelmt(list_pt verif, int cle){
list_pt ter;
int found = 0;
list_pt k_iterator = verif;
do {
ter = k_iterator->elt;
if(ter->cle == cle)
 found =1;
k_iterator = k_iterator->Next;
 } while(k_iterator != NULL || found == 1);
if(found == 1)
return 1;
else
return 0;
}
programme d'appel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
bout de code d'appel
 
j_iterator = listj->files;
	while(j_iterator != NULL){
 
	if((doci->pfile == NULL) || (searchelmt(doci->pfile,  j_iterator->plist->cle) == 0))
	doci->pfile = insert(doci->pfile, j_iterator->plist);
	j_iterator = j_iterator->Next;
}