diff --git a/slides/cours_11.md b/slides/cours_11.md index 2895e6dc659a1f4f1c28c406c1822b2074cd9e9c..4e83e85e0cf230e13509bebcbb5e67c3b6c46925 100644 --- a/slides/cours_11.md +++ b/slides/cours_11.md @@ -604,4 +604,29 @@ sorted_list sorted_list_extract(sorted_list list, int val) { # La recherche +```C +element* sorted_list_search(sorted_list list, int val); +``` + +* Retourne `NULL` si la valeur n'est pas présente (ou la liste vide). +* Retourne un pointeur vers l'élément si la valeur est présente. + +. . . + +```C +element* recherche(liste lst,int val) { + element* pos = position(lst,val); + if (est_vide(lst)) { + return NULL; + } + if (NULL == pos && val == lst->n) { + return lst; + } else if (NULL != pos->suivant && val == pos->suivant->n) { + return pos->suivant; + } else { + return NULL; + } +} +``` + # Exercice: recherche sans position