}
/*移花接木,直接赋值,避免交换节点*/
p->key = mid->key;
/*将mid节点的子节点作为pre的子节点,并将mid所指向的节点删除*/
if(pre->right == mid)
pre->right = mid->right;
else
pre->left = mid->right;
free(mid);
}
return 1;
}
/*中序输出bst树*/
void bst_print(bst_tree *root)
{
if(root == NULL)
return;
bst_print(root->left);
printf(" %d ", root->key);
bst_print(root->right);
}
测试代码:main.cpp
|
|