Adloun

Dérouler une file circulaire

Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 7 — Structures séquentielles : listes, piles, files

Énoncé

Sur une file circulaire de capacité , initialement vide, on exécute : enfiler ; défiler deux fois ; enfiler . Donner à chaque étape la valeur de debut, de n, et le contenu du tableau.

Corrigé

Mesuré, sur la structure du cours :


apres 10,20,30       debut=0 n=3  file=[10 20 30]
                     tableau=[10 20 30 . . . . .]
apres 2 defilages    debut=2 n=1  file=[30]        (on a obtenu 10 puis 20)
                     tableau=[10 20 30 . . . . .]  (rien n'est efface)
apres 40..100        debut=2 n=8  file=[30 40 50 60 70 80 90 100]
                     tableau=[90 100 30 40 50 60 70 80]

Trois observations, et elles sont tout l'intérêt de la structure.

L'invariant à écrire dans le code : et , et les éléments occupent les cases . Tout le reste — les deux assert du cours — en découle.

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.