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_depuisprend en paramètres untableauet un indiceiet renvoie l'indice de l'élément detableaude valeur minimale et d'indice supérieur ou égal ài, -
tri_selectionprend en paramètre untableauet le trie en appliquant le tri par sélection.
On garantit que :
-
tableaun'est pas vide, -
l'indice
ipassé à la fonctioni_mini_depuisest un indice valide (compris entre0etlen(tableau) - 1inclus).
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]