1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
typedef struct cellule_t
{
struct cellule_t *SuivListe;
Arbre Huff;
} cellule, *Liste;
/* Insere un element en respectant l'ordre croissant de la liste */
void Insere(Liste *p, Liste CellInsere)
{
Liste ptr = *p;
/* Si on doit l'inserer au debut de la liste */
if (ptr->Huff->Freq > CellInsere->Huff->Freq)
{
CellInsere->SuivListe = *p;
*p=CellInsere;
}
/* On teste ou on doit s'arreter pour inserer notre nouveau element */
while (ptr->SuivListe && CellInsere->Huff->Freq > ptr->SuivListe->Huff->Freq)
ptr=ptr->SuivListe;
if(ptr->SuivListe)
{
CellInsere->SuivListe = ptr->SuivListe;
ptr->SuivListe = CellInsere; /* il manquait ->SuivListe pour ptr */
}
else ptr->SuivListe = CellInsere;
} |