Tri par sélection⚓︎
On souhaite dans cet exercice coder le tri par sélection en Python.
On rappelle la démarche utilisée par ce tri :
-
une boucle principale parcourt les indices entre le premier et l'avant-dernier (inclus l'un et l'autre),
-
une boucle secondaire recherche l'indice de la valeur minimale située à droite de l'indice courant (inclus),
-
cet indice minimal étant trouvé, on échange l'élément minimal avec l'élément d'indice courant.
Objectif⚓︎
On demande d'écrire deux fonctions :
-
i_mini_depuis
prend en paramètres untableau
et un indicei
et renvoie l'indice de l'élément detableau
de valeur minimale et d'indice supérieur ou égal ài
, -
tri_selection
prend en paramètre untableau
et le trie en appliquant le tri par sélection.
On garantit que :
-
tableau
n'est pas vide, -
l'indice
i
passé à la fonctioni_mini_depuis
est un indice valide (compris entre0
etlen(tableau) - 1
inclus).
Exemples⚓︎
>>> tableau = [3, 1, 2]
>>> tri_selection(tableau)
>>> tableau
[1, 2, 3]
>>> tableau = [10, -1, 3, 7, -2, 0, 2]
>>> tri_selection(tableau)
>>> tableau
[-2, -1, 0, 2, 3, 7, 10]