Recherche personnalisée

Tris



C++BuilderX - tris.c

tris.c
Créé avec C++BuilderX
#include <stdio.h>
#include <stdlib.h>
#define true 1
#define false 0

typedef int boolean;

void permuter( int * a, int  * b )
{
  int c;
  c = * a;
  * a = * b;
  * b = c;
}


/*****
* Tri Par sélection
******/

void triSelection(int T[],int n)
     {
     int max, i; //max: Indice de la plus grande valeur à rechercher.

     while(n>0)
        {
        //On recherche l'indice de la plus grande valeur du tableau non encore trié
        max=0;

        for(i=1;i<n;i++)
           {
           if(T[i]>T[max]) max=i;
           }

        //On échange la plus grande valeur avec la dernière.

        permuter(&T[max],&T[n-1]);

        //On traite le reste du tableau
        n--;
        }
     }


/*****
* Tri Bulle (Bubble Sort)
******/
void triBulle( int T[], int n )
{
  int i;
  boolean permutation;

  do

  {
    permutation = false;

    for ( i = 0; i < n - 1; i++ )
    {
      if ( T[i] > T[i + 1] )
      {
        permuter( & T[i], & T[i + 1] );
        permutation = true;
      }
    }
  }
  while ( permutation );
}




/*****
* Tri Par insertion
******/

void triInsertion(int T[], int longueur)
     {
     int i, tampon, compt, decalage;

     for(i=1;i<longueur;i++)
        {
        tampon=T[i];
        compt=i;

        do

            {
            decalage=false;
            if (T[compt-1]>tampon)
                {
                T[compt]=T[compt-1];
                compt--;
                decalage=true;
                }
            if (compt<=0) decalage=false;
            }
        while(decalage);
        T[compt]=tampon;
        }

     }














tris.c
Créé avec C++BuilderX

calle
calle
calle

Suivre la vie de ce site RSS -
HitMaroc.net
Formation GoogleCe site est listé dans la catégorie Informatique : Programmation informatique Dictionnaire