Renverser en place
Exercice · OCaml (option informatique), chapitre 5 — Les tableaux
Énoncé
Écrire renverse t qui inverse t sur place (sans créer de nouveau tableau).
Corrigé
let renverse t =
let n = Array.length t in
for i = 0 to n / 2 - 1 do
let tmp = t.(i) in
t.(i) <- t.(n - 1 - i);
t.(n - 1 - i) <- tmp
done
On échange la case i avec sa symétrique n-1-i, pour i allant jusqu'au milieu (n / 2 - 1) : au-delà, on déferait les échanges. La variable tmp retient une valeur le temps de l'échange. La fonction renvoie () : elle agit par effet de bord.
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.