Bonjour,
voici un exemple de code en c qui supprime toutes les occurrences d'un élément dans une liste simplement chaînée :
Comment puis-je optimiser ce code ?
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 void removeOccElem(cel** l , int elem){ cel* ptr = *l ; cel* temp ; //l'element à supp est dans l'en-tete de la liste while(ptr && ptr->elem==elem){ *l= ptr->suiv ; free(ptr); ptr = *l ; } // supp des autres occurences while(ptr->suiv){ temp=ptr->suiv ; if(temp->elem==elem){ ptr->suiv=temp->suiv ; free(temp); }else{ ptr=ptr->suiv; } } }
Merci
E. Bazoga
Partager