ioCode
Implémentation muable d'une file
Files • Exercices 1A
- Écrire une fonction1IndiceCréer un enregistrement record contenant deux listes vides pour initialiser la structure.
filevide : unit -> 'a filequi renvoie une file vide. - Écrire une fonction2IndiceTester la liste tête à l'aide d'un motif pour vérifier son état de vacuité.
est_vide : 'a file -> boolqui renvoie un booléen indiquant si la file est vide. - Écrire une fonction3IndiceModifier le champ mutable queue en préfixant la nouvelle valeur à la liste existante.
enfiler : 'a file -> 'a -> unitqui ajoute un élément à la file en la modifiant. - Écrire une fonction4IndiceUtiliser une fonction auxiliaire récursive avec un accumulateur pour construire la liste inversée.
inverser : 'a list -> 'a listqui calcule la liste inversée. Par exempleinverser [1; 2; 3]renvoie[3; 2; 1]. - Écrire une fonction5IndiceExtraire l'élément tête et basculer la queue vers la tête si celle-ci devient vide.
defiler : 'a file -> 'aqui renvoie le premier élément de la file après suppression. Par exempledefiler frenvoie1sifcontient[1; 2]. - Écrire une fonction6IndiceConsulter le premier élément de la tête et réorganiser la file si elle est temporairement vide.
tete : 'a file -> 'aqui renvoie le premier élément de la file sans suppression. Par exempletete frenvoie1sifcontient[1; 2].
Langage
Console initialisée. En attente de l'interpréteur...