Pour le rendu d’un TP d’info j’ai du faire quelques recherches sur les différents tris. Voila ce que donne sur un vecteur un tri croissant par insertion en place :
public static void Sort_swap_array(int[] array, uint size) { bool swapped; for (int i = 1; i < size; i++) { swapped = false; // si le nombre précédent dans le tableau est plus grand ... if (array[i - 1] > array[i]) { // on stock la valeur à déplacer int stock = array[i]; for (int j = 0; j stock && !swapped) { // on décale la liste en partant de la fin for (int k = i; k > j; k--) array[k] = array[k - 1]; // on ecrit la valeur stockée à sa place array[j] = stock; swapped = true; } } } } }
Au passage voila deux petites fonctions pour générer un tableau et pour le remplir d’entiers aléatoirement :
public static void Init_array(int[] array, int e, uint size) { for(int i=0; i<size;i++) array[i]=e; } public static void Init_rand_array(int[] array, int max, int seed, uint size) { Random r = new Random(seed); for (int i = 0; i < size; i++) array[i] = r.Next(max); }