Ajout de commentaires pour liste.c

This commit is contained in:
yoboujon 2022-11-24 13:55:36 +01:00
parent 852d60c5a4
commit 5a47a69ddb
2 changed files with 27 additions and 12 deletions

View file

@ -1 +1,16 @@
# tpcoureur # TD4 Langage C
Pour executer ce code il suffit de le compiler à l'aide de gcc
>gcc -Wall td4.c -o td4
>./td4
Normalement les valeurs retournées devraient être les suivants :
![capture](capture.png)
Les structures sont définies comme suivant :
### Element
- **int** : Valeur
- **struct element \*** : Element suivant
### Liste
- **struct element \*** : Premier élément dans la liste, dernier ajouté
- **struct element \*** : Dernier élément, doit être NULL

22
liste.c
View file

@ -19,9 +19,9 @@ int main(void)
ajoutListe(&l1,c4); //ajout d'un element contenat c4 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global) ajoutListe(&l1,c4); //ajout d'un element contenat c4 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
ajoutListe(&l1,c5); //ajout d'un element contenat c5 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global) ajoutListe(&l1,c5); //ajout d'un element contenat c5 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
ajoutListe(&l1,c6); //ajout d'un element contenat c6 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global) ajoutListe(&l1,c6); //ajout d'un element contenat c6 dans liste l1(a partir de son adresse modfication a la maniere d'une variable global)
printf(" -- AJOUT LISTE, taille =%d -- \n",tailleListe(l1)); printf(" -- AJOUT LISTE, taille =%d -- \n",tailleListe(l1)); //affichee le nombre d'element dans la liste
printlist(l1); printlist(l1); //affiche tous les coureurs contenue dans les elements d'une liste
effacerCoureur(&l1,c2); effacerCoureur(&l1,c2); //
printf(" -- SUPR LISTE, taille =%d -- \n",tailleListe(l1)); printf(" -- SUPR LISTE, taille =%d -- \n",tailleListe(l1));
printlist(l1); printlist(l1);
printf(" -- INTERVERTI COUREUR 1 ET 2 DE LA LISTE -- \n"); printf(" -- INTERVERTI COUREUR 1 ET 2 DE LA LISTE -- \n");
@ -48,7 +48,7 @@ struct element * initElement(void)
liste initListe(void) liste initListe(void)
{ {
liste l; liste l;printlist
l.debut=initElement(); l.debut=initElement();
l.fin=initElement(); l.fin=initElement();
l.courant=initElement(); l.courant=initElement();
@ -64,16 +64,16 @@ void ajoutListe(liste * listeActuel,coureur * leCoureur)
listeActuel->courant=elementActuel; //le poiteur courant contenue dans la liste pointe sur le nouvelle element listeActuel->courant=elementActuel; //le poiteur courant contenue dans la liste pointe sur le nouvelle element
} }
void printlist(liste l) void printlist(liste l) //avec l la liste a affichée
{ {
struct element * eCourant = l.courant; struct element * eCourant = l.courant; //decleration d'un poiteur eCourant egale au poiteur courant (variable temporaire)
struct element * eFin = l.fin;
while(eCourant->suiv != eFin->suiv) while(eCourant->suiv != l.fin) //Tant que eCourant n'est pas égale a l'adresse du derniere element faire :
{ {
afficherCoureur(eCourant->coureurActuel); afficherCoureur(eCourant->coureurActuel); //affichee le coureur dans l'element d'adresse eCourant
eCourant=eCourant->suiv; eCourant=eCourant->suiv; //eCourant devient l'adresse de l'element suivant
} }
printf("NULL \n"); printf("NULL \n"); //affiche la valeur du dernier element
} }
void allerDebut(liste * l) void allerDebut(liste * l)