Blame view

tree.c 1.33 KB
9cf06b18   mertz   debut_add_tree
1
  #include "tree.h"
f7d9ccda   mertz   ajout_libtree
2
3
4
5
  
  /*
  typedef struct node {
  	int val;
9cf06b18   mertz   debut_add_tree
6
  	int fin;
f7d9ccda   mertz   ajout_libtree
7
  	struct node* fils[];
9cf06b18   mertz   debut_add_tree
8
  	int nbr_fils;
f7d9ccda   mertz   ajout_libtree
9
  }Node, *PtNode, *Tree;
9cf06b18   mertz   debut_add_tree
10
11
12
13
14
15
16
17
18
19
20
  
  #include <stdio.h>
  #include <stdlib.h>
  
  int main(){
    int tmp;
    tmp = getchar();
    printf("%d\n",tmp);
    return 0;
  }
  
f7d9ccda   mertz   ajout_libtree
21
22
   */
  
9cf06b18   mertz   debut_add_tree
23
  void cons_tree(struct node ** ptr_tree, int val)
f7d9ccda   mertz   ajout_libtree
24
  {
9cf06b18   mertz   debut_add_tree
25
26
27
28
29
30
    *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;
f7d9ccda   mertz   ajout_libtree
31
    
9cf06b18   mertz   debut_add_tree
32
33
    //(*ptr_tree)->fils = realloc(sizeof(struct node*)*nbr_fils);
    //(*ptr_tree)->fils[nbr_fils];
f7d9ccda   mertz   ajout_libtree
34
35
  }
  
9cf06b18   mertz   debut_add_tree
36
37
38
39
  void mk_empty_tree(struct node **ptr_tree)
  {
    *ptr_tree = NULL;
  }
f7d9ccda   mertz   ajout_libtree
40
  
9cf06b18   mertz   debut_add_tree
41
42
43
44
  int is_leaf(struct node *tree)
  {
    return tree->fin||tree->fils[0]==NULL;
  }
f7d9ccda   mertz   ajout_libtree
45
  
9cf06b18   mertz   debut_add_tree
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  void add(struct node ***tab_ptr_tree, int val[],int taille, int fl)
  {
    for(int i=0;i<taille;i++)
    {
      if(*(tab_ptr_tree[fl])==NULL){cons_tree(tab_ptr_tree[fl],val[i]);continue;}
      int trouve = 0;
      for(int j=0;j<(*(tab_ptr_tree[fl]))->nbr_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; //
  }
f7d9ccda   mertz   ajout_libtree
68
  
9cf06b18   mertz   debut_add_tree
69
70
71
72
  void load_tree(FILE *fp, struct node **ptr_tree)
  {
    //fl (first letter)
  }
f7d9ccda   mertz   ajout_libtree
73
  
9cf06b18   mertz   debut_add_tree
74
75
76
77
  void free_tree(struct node **ptr_tree)
  {
    
  }