From a0bbe98c37829c32cb8774bb7c03535520993a83 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 19 Dec 2021 12:55:24 +0100 Subject: [PATCH] Add `ajouterLettre` --- liste.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/liste.c b/liste.c index 3afea93..9af673e 100644 --- a/liste.c +++ b/liste.c @@ -1,7 +1,17 @@ #include "liste.h" -void ajouter(Liste *liste, char lettre) { - +void ajouterLettre(Liste *liste, char lettre) { + Cellule *curseur = *liste; + if (curseur == NULL) { // si liste vide, on créer juste une nouvelle cellule + *liste = allouerCellule(lettre); + } else { + while (curseur->suivant != NULL && curseur->lettre != lettre) // tant qu'on est pas à la fin de la liste ou qu'on n'a pas atteint la lettre + curseur = curseur->suivant; // on avance dans la liste + if(curseur) // si élément pas dans la liste (on a atteint la fin de la liste et on est pas sur la lettre) + curseur->suivant = allouerCellule(lettre); // on rajoute la lettre + else // sinon c'est que on a trouvé la lettre + curseur->frequence++; // on incrémente de 1 la fréquence de la lettre + } } Cellule *allouerCellule(char lettre) {