辅助类BinaryTreeNodeLeftChildRightSibling(左孩子右兄弟,二叉树结点)
template<typename T>
class BinaryTreeNodeLeftChildRightSibling
{
public:T key;BinaryTreeNodeLeftChildRightSibling<T>* parent;BinaryTreeNodeLeftChildRightSibling<T>* left_child;BinaryTreeNodeLeftChildRightSibling<T>* right_sibling;
public:BinaryTreeNodeLeftChildRightSibling(){}BinaryTreeNodeLeftChildRightSibling(const T &key,BinaryTreeNodeLeftChildRightSibling<T>* parent = nullptr,BinaryTreeNodeLeftChildRightSibling<T>* left_child = nullptr,BinaryTreeNodeLeftChildRightSibling<T>* right_sibling = nullptr):key(key),parent(parent),left_child(left_child),right_sibling(right_sibling){}
};