#include <stdio.h>

struct Noeud {
    int nbr;
	Noeud *gauche, *droite;
};

static void insertion(Noeud *&top, Noeud *newNoeud) {
	if (top == NULL) {
		top = newNoeud;
		top->droite = NULL;
		top->gauche = NULL;
	} else if (newNoeud->nbr < top->nbr)
		insertion(top->gauche, newNoeud);
	else
		insertion(top->droite, newNoeud);
}

int main() {
	Noeud *top = NULL;

	Noeud *n = new Noeud;
	n->nbr = 4;
	insertion(top, n);
	n = new Noeud;
	n->nbr = 10;
	insertion(top, n);

	printf("%d\n", top->nbr);
	printf("%d\n", top->droite->nbr);
	printf("%p\n", top->gauche);
	printf("%p\n", top->droite->gauche);
	printf("%p\n", top->droite->droite);
	return 0;
}