Previous Next Up Index Contents

Exercice 7.15 Tri par propagation (bubble sort)

#include <stdio.h>
main()
{
 /* Déclarations */
 int A[50]; /* tableau donné */
 int N;     /* dimension     */
 int I;     /* rang à partir duquel A est trié */
 int J;     /* indice courant      */
 int AIDE;  /* pour la permutation */
 int FIN;   /* position où la dernière permutation a eu lieu. */
        /* permet de ne pas trier un sous-ensemble déjà trié. */
 
 /* Saisie des données */
 printf("Dimension du tableau (max.50) : ");
 scanf("%d", &N );
 for (J=0; J<N; J++)
    {
     printf("Elément %d : ", J);
     scanf("%d", &A[J]);
    }
 /* Affichage du tableau */
 printf("Tableau donné :\n");
 for (J=0; J<N; J++)
    printf("%d ", A[J]);
 printf("\n");

 /* Tri du tableau par propagation de l'élément maximal. */
 for (I=N-1 ; I>0 ; I=FIN)
     {
      FIN=0;
      for (J=0; J<I; J++)
            if (A[J]>A[J+1])
            {
             FIN=J;
             AIDE=A[J];
             A[J]=A[J+1];
             A[J+1]=AIDE;
            }
     }
 
  /* Edition du résultat */
 printf("Tableau trié :\n");
 for (J=0; J<N; J++)
     printf("%d ", A[J]);
 printf("\n");
 return 0;
}


Previous Next Up Index Contents

Feedback - Copyright © 1993,1996,1997 F.Faber