From 1c804456026f51d10089f8a2d531e176012ab52a Mon Sep 17 00:00:00 2001 From: Abdul-Malik Elmurzaev <abdul-malik.elmurzaev@etu.unistra.fr> Date: Tue, 30 Apr 2024 15:39:16 +0200 Subject: [PATCH] =?UTF-8?q?exo=201=20et=202=20toutes=20les=20fonctions=20o?= =?UTF-8?q?nt=20=C3=A9t=C3=A9=20test=C3=A9es,=20sauf=20la=20fonction=20rec?= =?UTF-8?q?h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relations.c | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/relations.c b/relations.c index 1133854..d987164 100644 --- a/relations.c +++ b/relations.c @@ -85,14 +85,18 @@ listeg adjtete(listeg lst, void *x){ return new; } listeg adjqueue(listeg lst, void *x){ - listeg copy = lst; - while(copy->suiv != NULL){ - copy = copy->suiv; - } listeg new = malloc(sizeof(struct s_node)); new->val = x; new->suiv = NULL; - copy->suiv = new; + if( lst != NULL ){ + listeg copy = lst; + while(copy->suiv != NULL){ + copy = copy->suiv; + } + copy->suiv = new; + }else{ + return new; + } return lst; } listeg suptete(listeg lst){ @@ -124,6 +128,7 @@ void detruire(listeg lst){ return; if(lst->suiv != NULL){ free(lst); + return; } listeg copy = lst; while(copy != NULL){ @@ -273,7 +278,24 @@ int main(){ est_lien_connaissance(CONNAIT), est_lien_connaissance(COLLEGUE)); listeg liste = listegnouv(); - //liste = adjqueue(liste, ) + int x5 = 5, x4 = 4, x19 = 19, x3 = 3, x33 = 33; + int *px5, *px4, *px19, *px3, *px33; + px5 = &x5; px4 = &x4; px19 = &x19; px3 = &x3; px33 = &x33; + int x0 = 0; int* px0 = &x0; + liste = adjqueue(liste, &px5); + liste = adjtete(liste, &px4); + liste = adjqueue(liste, &px19); + liste = adjtete(liste, &px3); + liste = adjqueue(liste, &px33); + liste = adjtete(liste, &px0); + liste = suptete(liste); + listeg copy = liste; + for(int i=0; i<4; i++){ + printf("liste->val == %d \n", **(int**)copy->val); + copy = copy->suiv; + } + printf("tete(liste) == %d \n", **(int**)tete(liste)); + detruire(liste); return 0; -- GitLab