Adloun

Vider une file

Exercice · OCaml (option informatique), chapitre 8 — Piles, files et tables de hachage

Énoncé

Écrire somme_file f qui dépile entièrement une file d'entiers et renvoie la somme de ses éléments.

Corrigé

let somme_file f =
  let s = ref 0 in
  while not (Queue.is_empty f) do
    s := !s + Queue.pop f
  done;
  !s

On dépile tant que la file n'est pas vide, en accumulant. À la fin, la file est vide (effet de bord) et l'on renvoie la somme. La discipline FIFO n'importe pas ici : on visite tous les éléments.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.