Algorithme de tri en langage C

Bonjour,

Je fais de la programmation en Visual Basic maintenant je veux me formé en langage C. Je suis actuellement confronté à un problème. Je cherche un algorithme de tri rapide pour un tableau contenant n éléments de type entier en langage C bien sûr.
Merci pour votre aide

3 réponses

  1. pour votre question il exist 4 Méthode de trie :
    la premier c"est le trie par Bulle:(Copier ce code)

    #include <stdio.h>
    void main()
    {
    printf("_______________________________________________________________________________\n\n");
    printf("=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
    printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
    printf(" |~~~~~~~~~ ~~~ ~~~ ~~~ ~~~ ~ ~~~~ ~ ~~~~~~~~~~|\n");
    printf(" |~~~~~~~~~~~ ~~~~~ ~~~~~~~ ~~~~~~~ ~~~ ~~~ ~~ ~~ ~~ ~~~~~~~~~~|\n");
    printf(" |~~~~~~~~~~~ ~~~~~ ~~~ ~~~ ~~~ ~~~~ ~~~ ~~~~~~~~~~|\n");
    printf(" |~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~ ~~~ ~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~|\n");
    printf(" |~~~~~~~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~|\n");
    printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
    printf("=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
    printf("_______________________________________________________________________________\n");
    int i,n,inter,trier; //declaration
    printf("Entrer la dimension du tableau : ");
    scanf("%d",&n);
    int t[n];
    printf("--------------------------------\n");
    /*remplissage*/
    for(i=1;i<=n;i++)
    {
    printf("Entrer l'element T[%d] : ",i);
    scanf("%d",&t[i]);
    }
    printf("--------------------------------\n");
    /*affichage*/
    printf("le tableau est : \n\n");
    for(i=1;i<=n;i++)
    printf(" %d |",t[i]);
    printf("\n");
    printf("--------------------------------\n");
    /*tri bulle */
    do
    {
    trier=1;
    for(i=1;i<n;i++)
    {
    if(t[i]>t[i+1])
    {
    inter=t[i];
    t[i]=t[i+1];
    t[i+1]=inter;
    trier=0;
    }
    }
    }
    while(trier!=1);
    /*afficher le tri bulle*/
    printf("______________________________________________________________\n");
    printf("| |\n");
    printf("| ***** ***** ***** ***** * * * * ***** |\n");
    printf("| * * * * * * * * * * * |\n");
    printf("| * ***** * ***** * * * * ***** |\n");
    printf("| * * * * * * * * * * * |\n");
    printf("| * * * ***** ***** ***** ***** ***** ***** |\n");
    printf("|____________________________________________________________|\n");
    printf("--------------------------------\n");
    printf("le tableau trie par tri bulle : \n\n");
    for(i=1;i<=n;i++)
    printf(" %d |",t[i]);
    printf("\n");
    printf("--------------------------------\n");
    getch();
    }
    3
    1. La deuxième methode est Permutation:(copie ce code)
      #include <stdio.h>
      #include <conio.h>
      void main()
      {
      printf("_______________________________________________________________________________\n");
      int i,j,k,n,inter; //declaration
      printf("Entrer la dimension du tableau : ");
      scanf("%d",&n);
      int t[n];
      printf("__________________________________\n");
      /*remplissage*/
      for(i=1;i<=n;i++)
      {
      printf("Entrer l'element T[%d] : ",i);
      scanf("%d",&t[i]);
      printf("----------------------------------\n");
      }
      printf("__________________________________\n");
      /*affichage*/
      printf("le tableau est : \n");
      printf("----------------------------------\n");
      for(i=1;i<=n;i++)
      {
      printf(" %d |",t[i]);
      }
      printf("\n");
      printf("----------------------------------\n");
      printf("__________________________________\n");
      /*tri par permutation*/
      for(i=1;i<n;i++)
      {
      if(t[i]>t[i+1])
      {
      inter=t[i+1];
      j=1;
      while(t[j]<inter)
      j++;
      for(k=i;k>=j;k--)
      t[k+1]=t[k];
      }
      t[j]=inter;
      }
      /*afficher tri par permutation*/
      printf("--------------------------------\n");
      printf("le tableau trie par permutation : \n");
      printf("--------------------------------\n");
      for(i=1;i<=n;i++)
      printf(" %d |",t[i]);
      printf("\n");
      printf("--------------------------------\n");
      getch();
      }
      1
      1. Si tu veux l'autre méthode je suis à prés pour les réaliser
        0