using System; namespace Algorithme { class AlgoTriInsertion { static int[] table; /* Tri avec sentinelle : * dans la cellule de rang 0 se trouve une sentinelle (Int32.MinValue) * chargée d'éviter de tester dans la boucle tantque .. faire * si l'indice j n'est pas inférieur à 1, elle aura une valeur * inférieure à toute valeur possible de la liste. */ static void AfficherTable() { int n = table.Length - 1; for (int i = 1; i <= n; i++) System.Console.Write(table[i] + " , "); System.Console.WriteLine(); } static void InitTable() { int[] tableau = { Int32.MinValue,25,7,14,26,25,53,74,99,24,98,89}; table = tableau; } static void Main(string[] args) { InitTable(); System.Console.WriteLine("Tableau initial :"); AfficherTable(); TriInsert(); System.Console.WriteLine("Tableau une fois trié :"); AfficherTable(); System.Console.Read(); } static void TriInsert() { int n = table.Length - 1; for (int i = 2; i <= n; i++) { int v = table[i]; int j = i; while (table[j - 1] > v) { table[j] = table[j - 1]; j = j - 1; } table[j] = v; } } } }