/*
<数据结构>
Page: 137 exercise:3
description:
编写一个函数insert_left,在线索二叉树中,插入一个新节点child,作为节点parent的左儿子.节点parent的左儿子指针变为节点child的左儿子指针
*/
void insert_right(tree_node *parent,tree_node *child)
{
tree_node *temp;
child->left = parent->left;
child->right = parent;
parent->left = child;
child->left_thread = parent->left_thread;
child->right_thread = true;
parent->left_thread = false;
if ( ! child->left_thread)
{
temp = insucc(child);
temp->right = child;
}
}
tree_node *insucc(tree_node *tree) //返回tree下的最右节点
{
tree_node *temp;
temp = tree_>left;
if (! tree->left_thread)
while ( !temp->right_thread)
temp = temp->right;
return temp;
}
评论