the AVL tree with c