« Premiers pas en OCaml/Structures de données » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-.C3.A9 +é)
m Robot : Remplacement de texte automatisé (-\n(==={0,3})(?: *)([^\n=]+)(?: *)\1(?: *)\n +\n\1 \2 \1\n)
Ligne 9 :
Les types primitifs vus au chapitre 3 sont la base des données, mais nous avons besoin de les organiser dans des structures pour pouvoir faire des manipulations plus complexes dans nos programmes.
 
== Les listes ==
 
Les listes sont une séquence d'éléments successifs :
Ligne 25 :
</source>
 
== Les tableaux ==
 
<source lang="ocaml">
Ligne 33 :
 
 
== Différence entre tableaux et listes ==
 
Les listes sont une structure où l'accès des éléments est réalisé par parcours séquenciellement à partir du premier élément (appelé la tête). Leur construction est réalisée par empilement de nouveaux éléments à sa tête, et leur déconstruction par filtrage de motif.
Ligne 41 :
Les tableaux sont modifiables contrairement aux listes qui ne le sont pas. Les tableaux sont donc des structures impératives, et les listes des structures fonctionnelles.
 
== Construction d'une liste ==
 
Il est possible de construire une liste à partir d'une liste vide. Une liste vide se définie comme suit :
Ligne 64 :
</source>
 
== Déconstruction d'une liste ==
 
La déconstruction d'une liste permet d'accéder à ses éléments et de faire divers manipulations. La déconstruction d'une liste s'effectue par [[Premiers_pas_en_OCaml/Filtrage_de_motif#Déconstruction | filtrage de motif]] qui est le sujet du chapitre suivant.
 
== Itérateurs sur les listes ==
 
La bibliothèque standard d'OCaml fournit un certain nombre d'itérateurs pour les listes dont :
Ligne 102 :
</source>
 
== Initialisation d'un tableau ==
 
Le module [http://caml.inria.fr/pub/docs/manual-ocaml/libref/Array.html Array] de la bibliothèque standard fournit la fonction suivante :
Ligne 121 :
</source>
 
== Accès aux éléments d'un tableau ==
 
Pour un tableau contenant <code>n</code> éléments, ceux-ci sont indexés de <code>0</code> à <code>n - 1</code>. <code>0</code> étant le premier, et <code>n - 1</code> le dernier.
Ligne 140 :
</source>
 
== Les tuples ==
 
Les tuples permettent d'agréger plusieurs éléments ensemble.<br />
Ligne 155 :
</source>
 
== Les variants ==
=== Les variants sans arguments ===
 
Ligne 181 :
</source>
 
=== Les variants comme constructeurs ===
 
Les variants peuvent également être utilisés pour regrouper des types de données hétérogènes.
Ligne 208 :
</source>
 
== Les enregistrements ==
 
Les enregistrements (''record'' en anglais) sont un type qui doit être définit avant de pouvoir être utilisé.
Ligne 237 :
</source>
 
== Tableau récapitulatif ==
Voir la [[Premiers pas en OCaml/Annexe/Synthèse#Structures_de_données|fiche de synthèse]].