Corrigé sujet 34 - Année : 2023
Exercice 1
1 2 3 4 5 6 |
|
Exercice 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
- Le dernier élément d'un tableau
tab
a pour indicelen(tab)-1
- Si l'élément est un 0, on incrémente le debut de la zone non triée d'indice
i
. La zone non triée diminue "par la gauche". - Sinon, on échange cette valeur avec la fin de zone non triée (située en indice
j
). - La zone non triée diminue "par la droite", on décrémente donc sa fin d'indice
j
Attention
Les lignes 10 à 12 qui permettent d'échanger tab[j]
et tab[i]
en utilisant la variable temporaire valeur
peuvent être simplifiées en remarquant que tab[i]
vaut forcément 1 dans cette branche du if
.
Commentaire
On utilise un
assert
pour le générer une erreur si le tableau est vide.