Adloun

OCaml (option informatique) · Chapitre 8 · Application directe du cours

Vider une file

Piles, files et tables de hachage · niveau 1 (application)

É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.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre