Files

Retour aux exercices sur les files et piles

L’objectif de ce TD est de proposer de nouvelles méthodes pour le type File à l’aide des codes suivants :

Pour commencer, ajoutez le prédicat suivant :

taille : File -> entier
  # à partir d'une file F, renvoie le nombre d'éléments qu'elle contient

Nous pourrons ensuite ajouter deux autres prédicats :

max: File -> entier
  # à partir d'une file F, renvoie la valeur maximum

min: File -> entier
  # à partir d'une file F, renvoie la valeur minimum

Ensuite, proposez une implémentation pour la méthode suivante :

inverse: File -> File
    # Renvoie une copie de la file en paramètre avec l'ordre des éléments inversé

Nous allons maintenant nous intéresser à des opérations un peu plus compliquées :

trier: File -> File
  # Tri une liste donnée en paramètre

fusionne: (File * File) -> File
  # Fusionne deux files triées en une seule (bien triée)

Enfin, pour pousser un peu plus loin, proposez une implémentation pour la méthode suivante :

popValeur: (Valeur * File) -> File
    # Enlève d'une file tout les éléments dont la valeur est passée en paramètre