Exercice : Fonctions de recherche#
Les fonctions permettant d’extraire des valeurs d’une liste chaînée sont aussi très variées. Elles peuvent permettre de retrouver une valeur en fonction de sa position dans la liste (en tête ou en queue par exemple) ou en fonction de sa valeur (minimum ou maximum) par exemple.
Dans notre cas, nous nous contenterons d’une seule fonction mais n’hésitez pas à en implémenter d’autres pour vous entrainer.
Écrivez une fonction permettant de retrouver la plus grande valeur stockée dans une liste donnée :
int chercher_maximum(liste *l);
BEGIN SOLUTION
int chercher_maximum(liste *l) { if (l->nbelem == 0) return -1; int max = l->tete->val; elem *e = l->tete->next; while (e != NULL) { if (e->val > max) max = e->val; e = e->next; } return max; }
END SOLUTION