Exercice langage C corrigé tri d’un tableau 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;
}

Télécharger aussi :

Laisser un commentaire

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