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