Quel est le problème avec la mise en œuvre suivante d'un arbre de recherche binaire (BST) ? On m'a dit qu'il est préférable d'utiliser un pointeur vers un pointeur vers le structnœud comme un argument en fonction d'insertion.
struct node
{
int key_value;
struct node* left;
struct node* right;
};
insert(int key, struct node *leaf)
{
if( leaf == 0 )
{
leaf = (struct node*) malloc( sizeof( struct node ) );
leaf->key_value = key;
/* initialize the children to null */
leaf->left = 0;
leaf->right = 0;
}
else if(key < leaf->key_value)
{
insert( key, leaf->left );
}
else if(key > leaf->key_value)
{
insert( key, leaf->right );
}
}













