Adding bubble sorter
This commit is contained in:
parent
0ff62870ba
commit
8d044fdd66
2 changed files with 14 additions and 1 deletions
13
liste.c
13
liste.c
|
@ -46,7 +46,20 @@ void viderListe(Liste liste) {
|
|||
}
|
||||
|
||||
void trierListe(Liste *liste) {
|
||||
if (*liste != NULL) // si la liste n'est pas vide
|
||||
for (Cellule *i = *liste; i->suivant != NULL; i = i->suivant) // premier curseur
|
||||
for(Cellule *j = i->suivant; j != NULL; j = j->suivant) // second curseur
|
||||
if (i->frequence > j->frequence) { // si besoin de faire un échange, on le fais
|
||||
Cellule temporaire = *j;
|
||||
temporaire.lettre = j->lettre;
|
||||
temporaire.frequence = j->frequence;
|
||||
|
||||
j->lettre = i->lettre;
|
||||
j->frequence = i->frequence;
|
||||
|
||||
i->lettre = temporaire.lettre;
|
||||
i->frequence = temporaire.frequence;
|
||||
}
|
||||
}
|
||||
|
||||
void ajouterEnTete(Liste *liste, Cellule *cellule) {
|
||||
|
|
2
liste.h
2
liste.h
|
@ -32,7 +32,7 @@ void afficherListe(Liste liste, FILE *fichier);
|
|||
// Vide la liste
|
||||
void viderListe(Liste liste);
|
||||
|
||||
// Trie la liste en fonction des occurences
|
||||
// Trie la liste en fonction des occurences (tri à bulle)
|
||||
void trierListe(Liste *liste);
|
||||
|
||||
// Ajoute une cellule en tête de liste
|
||||
|
|
Reference in a new issue