Projet développé en langage C

Construire.
Compiler.
Exécuter.

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().

C GCC
"C:\Users\HP\Desktop\algorit... ×
×
Combien de nombres souhaitez-vous trier : 8

Avant le tri  : [99] [42] [33] [77] [83] [97] [69] [77]
--- COMPARAISON DES ALGORITHMES DE TRI ---
Tri rapide          : 0.000018 secondes
Tri par insertion  : 0.000041 secondes
Tri par selection  : 0.000057 secondes
Tri a bulles        : 0.000093 secondes

Apres  tri  : [33] [42] [69] [77] [77] [83] [97] [99]

Process returned 0 (0x0)   execution time : 0.042 s
Press any key to continue.
_
Taille du tableau :
01 — LE PROJET

Un projet conçu pour apprendre le C.

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.

Pourquoi ce projet ?

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.

Langage C
Compilateur GCC
Algorithmes 4
Architecture du projet
📁 c-project/
├── 📄 main.c
├── 📄 tri.c
└── 📄 header.h
02 — FONCTIONNALITÉS

Des fonctionnalités simples et efficaces.

01

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.

02
*

Pointeurs & tableaux

Passage des tableaux par pointeurs aux fonctions de tri, y compris la partition récursive du tri rapide.

03

Mesure de performance

Chronométrage précis de chaque algorithme avec clock(), avec répétitions adaptées à la taille du tableau.

04

Architecture modulaire

Code séparé en trois fichiers (main.c, tri.c, header.h) pour rester clair et réutilisable.

03 — CODE SOURCE

Un code simple et lisible.

Voici un aperçu de la structure du programme. Le projet respecte une organisation modulaire afin de faciliter son développement et sa maintenance.

Tri rapide récursif
Fonctions réutilisables
Prototypes dans header.h
Compilation avec GCC
tri.c
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;
}
04 — TECHNOLOGIES

Les outils utilisés pour le projet.

C

Langage C

Langage principal du projet.

G

GCC

Compilation du programme.

Windows

Environnement de développement.

Code::Blocks

IDE utilisé pour coder et compiler.

05 — L'ÉQUIPE

Les personnes derrière le projet.

Y

Yannick

Développeur C

PROJET OPEN SOURCE

Prêt à explorer le projet ?

Téléchargez le projet et découvrez comment chaque partie du programme fonctionne.