Voili voilou, comme je ne traine pas depuis longtemps ici, j´aimerais filer quelques petits trucs sympa que j´ai pu trouver en trainant de ci de la, hisoire d´aider comme on m´aide moi.
Je vous propose donc un petit bout de code qui corresppond a l´algorithme dit de " tris rapide"
Largement plus effficace que les algos qu´on trouve habituellement ( j´ai pu le tester moi meme)
Au niveau fonctionnement, il consiste a decouper en tout petit morceau un tres grand tableau et a empiler ca dans la pile du processeur.
La version que je donne fonctionne avec n´importe quel type de variable numerique.
float *sort( float *tab,const int L,const int R)
{
float val,cur;
int g,d;
if(R<=L) return tab;
val=tab[R];
g=L-1;
d=R;
while(g<d)
{ while((tab[++g]<val));
while((tab[--d]>val)&&(d>L));
if(g<d)
{ cur=tab[g];
tab[g]=tab[d];
tab[d]=cur; }
}
cur=tab[g];
tab[g]=tab[R];
tab[R]=cur;
sort(tab,L,g-1);
sort(tab,g+1,R);
}
Pour le faire tourner il suffit d´ecrire:
votre tableau= sort(votre tableau, la limite superieure du tableau, la limite inferieure du tableau( en general 0))
Je l´avais trouve par hasard en ligne mais il est ultime..donc g pas pu m´empecher...