Bonsoir,
je suis entrain de construire une fonction qui supprime des éléments d'une liste chaînée qui ont une occurrence <=x. D'après les cours et les tutos que je les ai trouvé sur internet j'ai constaté qu' il faut tester si l'élément a supprimer est au début de la liste ou non car la suppression au début de la liste n'est pas la même que dans dans une autre position de la liste.Je veut comprendre est ce que ce teste est obligatoire?
j'ai tester ce bout de code mais il m'affiche toujours 0 et lorsque je le débugge il m'affichemais je vois pas pourquoi?pouvez vous m'aidez a trouver la faille dans mon code.une violation d’accès(erreur de segmentation) est apparue dans votre programme
cordialement
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 T *filtrer(T *Liste,int Nb,float x) { T *head=NULL,*precedent=NULL,*next=NULL; T *courant=Liste; for(courant=Liste; courant!=NULL; courant=next) { next = courant->suiv; if (courant->occ<=x) { courant=courant->suiv; free(courant); if (precedent!=NULL) precedent->suiv = next; } else { precedent = courant; if (head==NULL) head=courant; } } return head; }
Partager