1) Le tri utilise est le tri bulle.
2) Principe du Tri Bulle :
On considère un tableau de nombres T, de taille N. L’algorithme parcourt le tableau, et dès que deux éléments consécutifs ne sont pas ordonnés, les échange. Après un premier passage, on voit que le plus grand élément se situe bien en fin de tableau. On peut donc recommencer un tel passage, en s’arrêtant à l’avant-dernier élément, et ainsi de suite. Au i-ème passage on fait remonter le i-ème plus grand élément du tableau à sa position définitive, un peu à la manière de bulles qu’on ferait remonter à la surface d’un liquide, d’où le nom d’algorithme de tri à bulles.
3) Programme :
#include <stdio.h>
void tri_bulle(int tab[], int taille) {
int i, j, temp;
for (i = 0; i < taille - 1; i++) {
for (j = 0; j < taille - i - 1; j++) {
if (tab[j] > tab[j + 1]) {
temp = tab[j];
tab[j] = tab[j + 1];
tab[j + 1] = temp;
}
}
}
}
int main() {
int taille, i;
printf("Entrez la taille du tableau : ");
scanf("%d", &taille);
int tab[taille];
printf("Entrez les éléments du tableau : ");
for (i = 0; i < taille; i++) {
scanf("%d", &tab[i]);
}
tri_bulle(tab, taille);
printf("Tableau trié : ");
for (i = 0; i < taille; i++) {
printf("%d ", tab[i]);
}
printf("\n");
return 0;
}
3) Execution :
Tableau initial : [2, -1, 0, -4]
1ère iteration : [-1, 2, 0, -4] [-1, 0, 2, -4] [-1, 0, -4, 2]
2ème iteration : [-1, 0, -4, 2] [-1, -4, 0, 2] [-4, -1, 0, 2]
Le tableau est trié et la valeur finale est [-4, -1, 0, 2].