This repository has been archived on 2022-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
Huffman/liste.h

42 lines
1.1 KiB
C
Raw Normal View History

#ifndef _LISTE_HUFFMAN_H_
#define _LISTE_HUFFMAN_H_ 1
#include <stdio.h>
#include <stdlib.h>
// 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à)
*/
2021-12-19 12:55:07 +01:00
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
void trierListe(Liste *liste);
// Ajoute une cellule en tête de liste
void ajouterEnTete(Liste *liste, Cellule *cellule);
#endif