1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
void tri_tab::changer_pos (int *int1, int *int2)
{
int inter;
inter = *int1;
*int1 = *int2;
*int2 = inter;
}
/* Tri un ensemble de int dans l'ordre croissant ou decroissant */
void tri_tab::tri (int *entier, int longueur, bool croissant)
{
for(int j=0; j<longueur; ++j)
{
for(int i=0; i<longueur-1; i++)
{
if(croissant == true) // par ordre croissant
{
if(entier[i] > entier[i+1])
{
tri_tab::changer_pos(&entier[i], &entier[i+1]);
}
}
else // par ordre decroissant
{
if(entier[i] < entier[i+1])
{
tri_tab::changer_pos(&entier[i], &entier[i+1]);
}
}
}
}
} |