是否能够在二叉树的而已结点出插入子结点?
-不能,二叉树结点的每个结点的子结点是固定的,只存在左孩子和右孩子.
是否需要指定新数据元素(新结点)的插入位置?
-需要指定为左孩子或者右孩子
enum BTNodePos
{
ANY,
LEFT,
RIGHT
};
插入的方式
-插入新结点
·bool insert(TreeNode<T>* node)
·bool insert(TreeNode<T>* node,BTNodePos pos)
-插入数据元素
·bool insert(cosnt T& value,TreeNode<T>* parent)
·bool insert(const T& value,TreeNode<T>* parent,BTNodePos pos)
指定位置的结点插入
bool insert(n, np, pos);
//pos = ANY
if(np->left == NULL)
{
np->left = n;
}
else if( np->right == NULL)
{
np->right = n;
}
else
{
ret = false;
}
//pos = LEFT
if(np->left == NULL)
{
np->left = n;
}
else
{
ret = false;
}
//pos = RIGHT
if(np->right &