// // Created by PC on 25-8-17. // #ifndef TREENODE_H #define TREENODE_H template class TreeNode { public: T element; TreeNode* left; TreeNode* right; int height; TreeNode(): left(nullptr), right(nullptr), height(0) {} explicit TreeNode(T e): element(e), left(nullptr), right(nullptr), height(1) {} TreeNode(T e, TreeNode* l, TreeNode* r): element(e), left(l), right(r), height(1) {} }; #endif //TREENODE_H /* 30 / \ 25 35 / \ 20 32 / 5 旋转之后应该是: 1 / \ r 4 / \ 3 2 / 5 */