Exercice : Structure récursive ?
La liste étant une structure de données récursives, nous nous proposons d'utiliser la récursivité pour écrire la fonction de recherche.
Modifiez le code en ce sens.
Si vous ne souhaitez pas modifier une instruction, laissez l'espace correspondant vide.
Si vous devez insérer une instruction ou un mot clé, faites-le dans l'espace de l'instruction précédente, en insérant « ; » pour séparer un contenu déjà existant.
L'utilisation de la récursivité déporte l'action de la boucle while sur l'appel récursif.
La clause alors de l'instruction conditionnelle se terminant par return, les instructions alternatives (else) peuvent être exprimées en dehors d'une clause sinon, ici return li ;
.
1
#include <stddef.h> // pour NULL
2
typedef Tmaillon *Tliste ;
3
Tliste frec(Tliste li, int i){
4
if (li!=NULL && li->val!=i)
5
return frec(li->lien) ;
6
else return li ;
7
}
#include <stddef.h> // pour NULL typedef Tmaillon *Tliste ; Tliste frec(Tliste li, int i){ if (li!=NULL && li->val!=i) return frec(li->lien) ; else return li ; }