Bonjour
je doit écrire une fonction qui supprime les répétitions dans une liste chainée
j ai écrit cette fonction mais ça marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 typedef struct cel { int val; struct cel * suivant; } liste; typedef liste* PListe ; int taille(PListe L);//return la taille de la liste Liste suprimer(PListe L, int k);// supprimer l element du rang k
SVp aider moi
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 PListe supprimer_repe(PListe L) { PListe p=NULL,pc=NULL, prec=NULL; int k=0,i; p = L ; while ( p != NULL ) { k++; pc=p->suivant ; prec = p ; for(i=k;k<taille(L);i++) { if (pc->val == p->val) L=supprimer(L,i); else prec = pc ; pc = pc->suivant ; } p=p->suivant; } return L; }
Partager