4 algorithmes de tri
Sélection, bulles, insertion et tri rapide, appliqués sur un même jeu de données pour une comparaison directe.
Découvrez mon projet en langage C : un comparateur de 4 algorithmes de tri (sélection, bulles, insertion, tri rapide) mesurant leurs performances réelles grâce à l'allocation dynamique et à clock().
L'objectif de ce projet est de comparer concrètement quatre algorithmes de tri classiques en mesurant leur temps d'exécution réel sur un même jeu de données généré aléatoirement.
Ce projet met en pratique des notions clés du
langage C : allocation dynamique (malloc),
passage de tableaux par pointeurs, mesure de
performance avec clock(), et
génération de nombres pseudo-aléatoires avec
rand().
L'utilisateur choisit la taille du tableau à trier ; le programme génère les nombres, applique successivement les quatre algorithmes sur une copie identique du tableau, puis affiche le résultat trié ainsi que le temps mesuré pour chacun.
Sélection, bulles, insertion et tri rapide, appliqués sur un même jeu de données pour une comparaison directe.
Passage des tableaux par pointeurs aux fonctions de tri, y compris la partition récursive du tri rapide.
Chronométrage précis de chaque algorithme avec
clock(), avec répétitions
adaptées à la taille du tableau.
Code séparé en trois fichiers (main.c,
tri.c, header.h) pour
rester clair et réutilisable.
Voici un aperçu de la structure du programme. Le projet respecte une organisation modulaire afin de faciliter son développement et sa maintenance.
void tri_rapide(int A[], int deb, int fin) {
if (deb < fin) {
int pivot = partition(A, deb, fin);
tri_rapide(A, deb, pivot - 1);
tri_rapide(A, pivot, fin);
}
}
int partition(int A[], int deb, int fin) {
int pivot = A[(deb + fin) / 2];
int i = deb;
int j = fin;
int temp;
while (i <= j) {
while (A[i] < pivot) i++;
while (A[j] > pivot) j--;
if (i <= j) {
temp = A[i];
A[i] = A[j];
A[j] = temp;
i++;
j--;
}
}
return i;
}
Langage principal du projet.
Compilation du programme.
Environnement de développement.
IDE utilisé pour coder et compiler.
Développeur C
Téléchargez le projet et découvrez comment chaque partie du programme fonctionne.