Adloun

Vérifier qu'une liste est triée

Exercice · OCaml (option informatique), chapitre 9 — Algorithmique : les tris

Énoncé

Écrire est_trie et l'appliquer à [1; 3; 3; 5] et [1; 4; 2].

Corrigé

let rec est_trie l =
  match l with
  | [] | [_] -> true
  | x :: (y :: _ as reste) -> x <= y && est_trie reste

est_trie [1; 3; 3; 5] vaut true (croissante au sens large : &lt;=), est_trie [1; 4; 2] vaut false (car 4 &gt; 2). L'évaluation paresseuse de &amp;&amp; arrête au premier défaut.

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.