Renverser avec une pile
Exercice · OCaml (option informatique), chapitre 8 — Piles, files et tables de hachage
Énoncé
Écrire renverse_file f qui renverse l'ordre des éléments d'une file (le dernier devient le premier), en s'aidant d'une pile.
Corrigé
let renverse_file f =
let p = Stack.create () in
while not (Queue.is_empty f) do
Stack.push (Queue.pop f) p
done;
while not (Stack.is_empty p) do
Queue.push (Stack.pop p) f
done
On vide la file dans une pile : l'ordre s'inverse (FIFO puis LIFO). On revide la pile dans la file : les éléments y reviennent renversés. La file f est modifiée sur place ; la fonction renvoie ().
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.