La récursivité est particulièrement adaptée lorsque l'on souhaite manipuler des listes chaînées. Nous utiliserons pour ce faire les fonctions suivantes :
Vous prendrez soin de ne pas confondre les listes et les données. Ces
dernières sont génériques, vous pouvez placer dans une liste des
données de n'importe quel type, même d'autres listes... Nous noterons
mathématiquement les listes entre des crochets, par exemple . La liste vide, retournée par la fonction
sera notée
. Vous pourrez créer une liste à un élément par exemple en
écrivant
Cette instruction crée la liste . Pour créer une liste à deux
éléments, vous utiliserez le même principe :
Cette instruction crée la liste . Les éléments de la liste
sont indicés à partir de
. Nous ne gérerons pas la mémoire, on
considérera qu'un garbage collector s'en occupera.