ioCode

Tri par sélection

Tris • Exercices 1A
flowchart TD Start([Début : Tableau T de N éléments]) --> Init_i[i = 0] Init_i --> Cond_i{i < N - 1 ?} Cond_i -->|Faux| End([Fin : Tableau trié]) Cond_i -->|Vrai| Call_Min["min_idx = ind_min(T, i, N)"] Call_Min --> Cond_Swap{min_idx != i ?} Cond_Swap -->|Vrai| Call_Exchange["echanger(T, i, min_idx)"] Cond_Swap -->|Faux| Inc_i["i = i + 1"] Call_Exchange --> Inc_i Inc_i --> Cond_i
  1. Écrire une fonction echange(L: list[int], i: int, j: int) qui échange les éléments aux indices i et j de la liste L. Par exemple, après l'appel echange([3, 1, 2], 0, 2), la liste contient [2, 1, 3].
  2. Écrire une fonction ind_min(L: list[int], debut: int) qui calcule l'indice du plus petit élément de la liste L à partir de l'indice debut. Par exemple ind_min([3, 1, 2], 0) renvoie 1.
  3. Écrire une fonction tri_selection(L: list[int]) qui trie la liste L par ordre croissant en utilisant les fonctions précédentes. Par exemple tri_selection([3, 1, 2]) modifie L en [1, 2, 3].
Langage
Console initialisée. En attente de l'interpréteur...