Vous devez vous connecter pour exécuter votre code.

Tri par selection

Implémentez le tri par sélection du minimum avec exclusivement des pointeurs (pas d'indices [i]).

Invariant attendu : x[0..i-1] trie et <= x[i..n-1]
Quantité de contrôle attendue : i
#include <stdio.h> void tri_selection(int *x, size_t n) { int *fin = x + n; for (int *cur = x; cur < fin - 1; cur++) { int *min = cur; for (int *p = cur + 1; p < fin; p++) if (*p < *min) min = p; if (min != cur) { int tmp = *cur; *cur = *min; *min = tmp; } } } int main() { int n; scanf("%d", &n); int arr[1000]; for (int i = 0; i < n; i++) scanf("%d", &arr[i]); tri_selection(arr, n); return 0; }