void sortliste1(int unsigned *liste){ //tri à bulles int i, j, a; for (i=0;i<L-1;i++){ for (j=i+1;j<L;j++){ if (liste[i]>liste[j]){ a=liste[j]; liste[j]=liste[i]; liste[i]=a; } } } } void sortliste2(int unsigned *l1){ //tri fusion int i, j, k, l, m, n, o=1; int unsigned l2[L]; int unsigned *l3; int unsigned *l4; l3=l1; l4=l2; printf("Debut du tri...\n"); for (i=0;i<L;i++){ l2[i]=0; } for (i=2;i<L;i*=2){ //la taille des parties à trier for (j=0;j<L;j+=i){ //on parcourt les premiers éléments de nouvelle chaque parties. l=0; m=0; n=(i+j>L)?L-i:i; for (k=0;k<n;k++){ if (m==o){ l4[j+k]=l3[j+l+o]; l++; }else if ( l==o ){ l4[j+k]=l3[j+m]; m++; }else if (l3[j+m]<l3[j+l+o]){ l4[j+k]=l3[j+m]; m++; }else{ l4[j+k]=l3[j+l+o]; l++; } } } if (l3==l2){ l3=l1; l4=l2; }else{ l3=l2; l4=l1; } o=i; } l=0; m=0; for (k=0;k<L;k++){ if (m==o){ l4[k]=l3[l+o]; l++; }else if ( l==o ){ l4[k]=l3[m]; m++; }else if (l3[m]<l3[l+o]){ l4[k]=l3[m]; m++; }else{ l4[k]=l3[l+o]; l++; } } if (l4==l2){ for (k=0;k<L;k++){ l1[k]=l4[k]; } } } void sortliste4(int unsigned *l1){ //Cet algo de tri est l'algo de tri par insersion. int i, j, k, l; for (i=1;i<L;i++){ l=l1[i]; for (j=0;j<i;j++){ if (l1[i]<l1[j]){ for (k=i-1;k>j;k--){ l1[k+1]=l1[k]; } l1[j]=l; break; } } } }
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.