#ifndef _LISTE_HUFFMAN_H_ #define _LISTE_HUFFMAN_H_ 1 #include #include // Définition d'une Celulle/Noeud typedef struct cel { char lettre; // lettre int frequence; // fréquence dans laquelle la lettre apparaît dans le texte struct cel *gauche; // utile en tant que noeud struct cel *droite; // utile en tant que noeud struct cel *suivant; // utile en tant que cellule } Cellule; // Définition d'une Liste chainée typedef Cellule *Liste; /* Ajoute une lettre (qui sera automatiquement transformé en cellule si elle n'existe pas déjà) dans la liste, avec sa bonne occurence (la met à jour si la lettre existait déjà) */ void ajouterLettre(Liste *liste, char lettre); // Alloue une cellule pour la liste Cellule *allouerCellule(char lettre); // Affiche la liste void afficherListe(Liste liste, FILE *fichier); // Vide la liste void viderListe(Liste liste); // Trie la liste en fonction des occurences (tri à bulle) void trierListe(Liste *liste); // Ajoute une cellule en tête de liste void ajouterEnTete(Liste *liste, Cellule *cellule); #endif