Salut,
Pourriez vous m'expliquez pourquoi on utilise un double pointeur lors de l'ajout d'un élément dans un arbre et si possible de l'expliquer quand est ce qu'on utilise double pointeur et comment acceder au contenu de l'element pointé
Merci
Code:#include <stdio.h> #include <stdlib.h> typedef struct arbre arbre; struct arbre{ int x; struct arbre *fg,*fd; }; void ajout(arbre **r,int n) { if(*r==NULL) { arbre *temp = malloc(sizeof(arbre)); temp->x=n; temp->fg=NULL; temp->fd=NULL; *r=temp; } else { if((*r)->x>n) { ajout(&(*r)->fg,n); } else { ajout(&(*r)->fd,n); } } } void affiPre(arbre *r) { if(r!=NULL) { printf("%d",r->x); affiPre(r->fg); affiPre(r->fd); } } void remplir(arbre **r,int n) { int i; for(i=0;i<n;i++) { ajout(&(*r),i); } } main() { arbre *r=NULL; remplir(&r,10); affiPre(r); }
-----