samedi 8 octobre 2016

Algorithme de tri de date en C#

Dans cet algorithme on compare les valeurs 2 à 2, à chaque fois que l'on réorganise (inversion des valeurs) on recommence la comparaison des valeurs 2 à 2 depuis le début de la liste.

DateTime.Ticks représente une valeur plus facile à comparer.

L'ordre des dates est décroissant, pour inverser l'ordre changer < par > dans la ligne if (dates[i].Ticks < dates[i + 1].Ticks)

int i = 0;
DateTime[] dates = new DateTime[3];
..... affectation des dates dans le tableau ......
while (i < dates.Length - 1)
{
     if (dates[i].Ticks < dates[i + 1].Ticks)
     {
           DateTime memoire = dates[i + 1];
           dates[i + 1] = dates[i];
           dates[i] = memoire;
           i = 0;
      }
      else i++;
}