Tri par permutation

simsimow Messages postés 10 Statut Membre -  
Adnane91 Messages postés 44 Statut Membre -
Bonjour,tout le monde je tiens vraiment a demander votre aide afin d'etre capable de comprendre un algorithme de tri par permutation.
Exemple + explication SVP
Configuration: Windows XP Internet Explorer 6.0

13 réponses

  1. faith cure Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   23
     
    salut simsimow je souhaite que ça que tu veux c'est un algorithme

    Le tri par permutation :
    POUR i ALLANT DE 1 A 9
    FAIRE
    SI (TAB (i+1) < TAB (i)) ALORS
    Abouger reçoit TAB (i+1)
    j reçoit 1 ;
    TanQue ((j < i) ET (TAB (j) < TAB (i+1)))
    Faire j reçoit j+1
    Fin Tant Que
    POUR k ALLANT DE i+1 A j+1 PAS –1
    Faire
    TAB (k) reçoit TAB (k-1)
    FinPour
    TAB (j) reçoit abouger
    Fin SI
    Fin Pour
    et en langage C essaies:
    #include <stdio.h>
    void main(void)
    {
    int v[50]; /* tableau donné */
    int N; /* dimension */
    int I; /* rang à partir duquel A est trié */
    int J; /* indice courant */
    int AIDE; /* permutation */
    int FIN; /* dernière permutation. */

    /* Entrée du tableau */
    printf("Dimension du tableau : ");
    scanf("%d", &N );
    for (J=0; J<N; J++)
    {
    printf("Element %d : ", J+1);
    scanf("%d", &v[J]);
    }
    /* Affichage du tableau */
    printf("Tableau donne :\n");
    for (J=0; J<N; J++)
    printf("%d ", v[J]);
    printf("\n");

    /* Tri du tableau */
    for (I=N-1 ; I>0 ; I=FIN)
    {
    FIN=0;
    for (J=0; J<I; J++)
    if (v[J]>v[J+1])
    {
    FIN=J;
    AIDE=v[J];
    v[J]=v[J+1];
    v[J+1]=AIDE;
    }
    }

    /* résultat */
    printf("Tableau trie :\n");
    for (J=0; J<N; J++)
    printf("%d ", v[J]);
    printf("\n");
    }
    Permuter T:Tableau[N] d’Entiers
    qui permute les valeurs des éléments d’indices ind1 et ind2 du
    tableau T.
    il compart les elements deux à deux.
    5