ALGORITHME DE TRI D'UN TABLEAU PAR ORDRE CROISSANT OU DÉCROISSANT.

Signaler
Messages postés
37
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
11 avril 2010
-
Messages postés
1
Date d'inscription
dimanche 4 mars 2018
Statut
Membre
Dernière intervention
4 mars 2018
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51438-algorithme-de-tri-d-un-tableau-par-ordre-croissant-ou-decroissant

Messages postés
1
Date d'inscription
dimanche 4 mars 2018
Statut
Membre
Dernière intervention
4 mars 2018

Une méthode de tri tout aussi efficace

#include <stdio.h>
#include <stdlib.h>

void ordonnerTableau(int tableau[], int tailleTableau);
int main()
{
int tableau[4] = {15,81,22,13};

    ordonnerTableau(tableau, 4);

    return 0;
}

void ordonnerTableau(int tableau[], int tailleTableau)
{
    int i = 0; // Variable Index de boucle lecture tableau
    int d = 0 ; // Variable de décalage Index de boucle lecture tableau
    int tampon = 0;


           {
            printf("\nDEBUT exercice Ordonner\n\n");
            }

//Tri ordre croissant
{
    printf("\n tableau ordre Croissant\n");
}

  for(d=0; d < tailleTableau; d++)

        for(i=d; i < tailleTableau; i++)

            if (tableau [i]<= tableau [d])
            {
            tampon = tableau [d];
            tableau [d]= tableau [i];
            tableau [i] = tampon;
            }

        for(i=0; i < tailleTableau; i++)

            {
            printf("tableau: %i\n", tableau[i]);
            }

//Tri ordre décroissant
{
    printf("\n tableau ordre Décroissant\n");
}
    i = 0; // RAZ Variable Index de boucle lecture tableau pour tri decroissant
    d = 0 ; // RAZ Variable de décalage Index de boucle lecture tableau pour tri decroissant
    tampon = 0;


    for(d=0; d < tailleTableau; d++)
        for(i=d; i < tailleTableau; i++)

            if (tableau [i]>= tableau [d])
            {
            tampon = tableau [d];
            tableau [d]= tableau [i];
            tableau [i] = tampon;
            }


        for(i=0; i < tailleTableau; i++)

            {
            printf("tableau: %i\n", tableau[i]);
            }


            {
            printf("\nFIN exercice Ordonner\n");
            }

}
Messages postés
2
Date d'inscription
lundi 2 novembre 2009
Statut
Membre
Dernière intervention
17 mars 2010

Merci pour ces avis qui m'ont pas mal aidé :)
Messages postés
7
Date d'inscription
dimanche 10 décembre 2006
Statut
Membre
Dernière intervention
8 mai 2010

Simple tri à bulle comme il a déjà été dit. Essaye de regarder les tri fusions par exemples merge sort en anglais ;)
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
Salut,
Gnairod m'a devancé quant au nom de tri à bulle.
Info : &tabl[i] devient tabl+i (à mon avis, c'est un détail parmi d'autre qui permet d'accélérer le temps d'exécution).
Afficher les 7 commentaires