This is c++ implementation of AVL tree.