[caml] Les listes

Discutez d'informatique ici !
jujudu597
Membre Naturel
Messages: 87
Enregistré le: 20 Fév 2014, 18:13

[caml] Les listes

par jujudu597 » 08 Mar 2015, 00:36

Bonjour,

J'essaie de comprendre un exercice de Caml, mais le type définit me pose problème.

exception ListeVide

type liste = Vide | Cons of cellule
and cellule = {
valeur : int;
mutable suivant : liste;
mutable precedent : liste
}

let la_cellule l =
match l with
| Vide -> raise ListeVide
| Cons a -> a

J'aimerais comprendre ce que donne la fonction la_cellule (de type liste -> cellule = ).

En effet, que represente une cellule? Une element de la liste?

Dans ce cas, pourquoi la fonction la_cellule nous donne une cellule, laquel c'est?

Merci d'avance!



Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 19:42

par Rockleader » 08 Mar 2015, 01:48

Je suis pas sur pour le mutable.

Autrement j'aurais dis


Une liste c'est soit Vide soit une cellule


Une cellule c'est construit comme étant {liste,int,liste}

C'est comme un enchevêtrement de noeud.

Au final tu construit tout ça de façon récursive

{liste,int,liste}
{ {liste,int,liste},int, {liste,int,liste}}

Jusqu'à ce que tu arrives sur une feuille auquel cas tu remplaceras liste par vide.



Je pense que le type liste est mal nommé ici, ça ressemble plus au concept des arbres grd.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite