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
- Écrire une fonction1IndiceUtiliser l'affectation simultanée pour permuter les éléments aux indices spécifiés.
echange(L: list[int], i: int, j: int)qui échange les éléments aux indicesietjde la listeL. Par exemple, après l'appelechange([3, 1, 2], 0, 2), la liste contient[2, 1, 3]. - Écrire une fonction2IndiceParcourir la liste à partir de l'indice de départ pour mettre à jour l'indice du minimum courant.
ind_min(L: list[int], debut: int)qui calcule l'indice du plus petit élément de la listeLà partir de l'indicedebut. Par exempleind_min([3, 1, 2], 0)renvoie1. - Écrire une fonction3IndiceItérer sur chaque position de la liste pour échanger l'élément courant avec le plus petit élément restant.
tri_selection(L: list[int])qui trie la listeLpar ordre croissant en utilisant les fonctions précédentes. Par exempletri_selection([3, 1, 2])modifieLen[1, 2, 3].
Langage
Console initialisée. En attente de l'interpréteur...