diff --git a/slides/cours_12.md b/slides/cours_12.md index 4146c0c2e5d1b205aff29087f4eb39e08fb4961d..c9646d2edda6c00afba9a4fa9a8d5e59728ddcc9 100644 --- a/slides/cours_12.md +++ b/slides/cours_12.md @@ -228,6 +228,8 @@ sorted_list sorted_list_extract(sorted_list list, int val) { # La recherche + + ```C element* sorted_list_search(sorted_list list, int val); ``` @@ -243,7 +245,7 @@ element* sorted_list_search(sorted_list list, int val) { element* pos = sorted_list_position(list, val); if (NULL == pos && val == list->data) { return list; // first element contains val - } else if (NULL != pos->next && val == pos->next->data) { + } else if (NULL != pos && NULL != pos->next && val == pos->next->data) { return pos->next; // non-first element contains val } else { return NULL; // well... val's not here @@ -277,7 +279,7 @@ element* sorted_list_position(sorted_list list, int val) { if (sorted_list_is_empty(list) || val <= list->data) { pos = NULL; } else { - while (NULL != pos->next && val > pos->next>data) { + while (NULL != pos->next && val > pos->next->data) { pos = pos->next; } }