Tri par permutation

simsimow Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
Adnane91 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -
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

13 réponses

faith cure Messages postés 32 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