您的位置:首页 > 其它

查找二叉搜索树中小于某个节点的最大值

2013-10-04 12:04 288 查看
Node* rightMost(Node *n)
{
if (n->right == NULL)
{
return n;
}
while (n->right)
{
n = n->right;
}

return n;
}

Node *predecessor(Node *n)
{
if (NULL == n)
{
return NULL;
}

if (n->left)
{
return rightMost(n->left);
}

Node *parent = n->parent;
if (parent && parent->right != n)
{
n = parent;
parent = parent->parent;
}

return parent;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐