Trions

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);
}

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">