diff --git a/tree.c b/tree.c index 9196ac8..cb91941 100644 --- a/tree.c +++ b/tree.c @@ -1,23 +1,77 @@ -#include "trees.h" +#include "tree.h" /* typedef struct node { int val; + int fin; struct node* fils[]; + int nbr_fils; }Node, *PtNode, *Tree; + +#include +#include + +int main(){ + int tmp; + tmp = getchar(); + printf("%d\n",tmp); + return 0; +} + */ -void cons_tree(struct node **, int, struct node *) +void cons_tree(struct node ** ptr_tree, int val) { + *ptr_tree = malloc(sizeof(struct node)); + (*ptr_tree)->val = val; + (*ptr_tree)->fin = 0; + (*ptr_tree)->nbr_fils=0; + (*ptr_tree)->fils = malloc(sizeof(struct node*)); + (*ptr_tree)->fils[0]=NULL; + //(*ptr_tree)->fils = realloc(sizeof(struct node*)*nbr_fils); + //(*ptr_tree)->fils[nbr_fils]; } -void mk_empty_tree(struct node **); +void mk_empty_tree(struct node **ptr_tree) +{ + *ptr_tree = NULL; +} -int is_leaf(struct node *); +int is_leaf(struct node *tree) +{ + return tree->fin||tree->fils[0]==NULL; +} -void add(struct node **, int); +void add(struct node ***tab_ptr_tree, int val[],int taille, int fl) +{ + for(int i=0;inbr_fils;j++) + { + if((*(tab_ptr_tree[fl]))->val==val[i]) + { + trouve=1; + break; + } + } + if(trouve == 0) + { + //ajouter fils + } + } + //mettre fin à 1 pour le bon + //if(i==taille-1)(*(tab_ptr_tree[fl]))->fin=1; // +} -void load_tree(FILE *, struct node **); +void load_tree(FILE *fp, struct node **ptr_tree) +{ + //fl (first letter) +} -void free_tree(struct node **); +void free_tree(struct node **ptr_tree) +{ + +} diff --git a/tree.h b/tree.h index 3a8d162..314d952 100644 --- a/tree.h +++ b/tree.h @@ -3,16 +3,18 @@ typedef struct node { int val; - struct node* fils[]; + int fin; + int nbr_fils; + struct node** fils; }Node, *PtNode, *Tree; -void cons_tree(struct node **, int, struct node *); +void cons_tree(struct node **, int); void mk_empty_tree(struct node **); int is_leaf(struct node *); -void add(struct node **, int); +void add(struct node ***, int* ,int ,int); void load_tree(FILE *, struct node **); -- libgit2 0.21.2