binary tree c code implementation