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
Mylloon 8a368746d6 Modifications:
- Update comment on `ajouterLettre`
- Update function name and its comment
- Fix order in sort function
- Add function who add a cell in the right frequency order
2021-12-19 20:29:21 +01:00

42 lines
1.2 KiB
C

#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 (en tête
de 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 dans une liste rangée en préservant l'ordre
void ajouterRangee(Liste *liste, Cellule *cellule);
#endif