Bonjour à tous,
Voici un code très simple qui ajoute un noeud a un arbre binaire.
Seulement le programme compile mais plante dès qu'on l'execute...
Merci beaucoup de votre aide!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef struct node_t node_t; struct node_t { void * data; struct node_t * lc, * rc ; }; node_t ** bintree; void bt_add_value(node_t ** bt, int v){ while(*bt != NULL){ printf("a"); if( *(int*)((*bt)->data) < v) bt= &((*bt)->rc); else bt= &((*bt)->lc); } printf("b"); *bt = malloc (1 * sizeof **bt); assert(*bt); *(int*)((*bt)->data) = v; (*bt)->lc = (*bt)->rc = NULL; } int main (void){ *(int*)((*bintree)->data) = 5; (*bintree)->lc = NULL; (*bintree)->rc = NULL; bt_add_value(bintree,10); return 0; }
Partager