本文整理汇总了C++中TNode::hasOnlyLeft方法的典型用法代码示例。如果您正苦于以下问题:C++ TNode::hasOnlyLeft方法的具体用法?C++ TNode::hasOnlyLeft怎么用?C++ TNode::hasOnlyLeft使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TNode
的用法示例。
在下文中一共展示了TNode::hasOnlyLeft方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void bsTree<T>::remove(const T & item)
{
TNode<T> *tN = search(root, item); //Returns node of value, item.
if(!tN) //if node is not found, remove nothing.
return;
TNode<T> *pN= tN->getParent(); //Points to tN's parent.
if(tN->getLeft() == NULL && tN->getRight() == NULL) //node is leaf
{
removeLink(tN, pN, NULL);
}
else if(tN->hasOnlyLeft()) //Node has only left child
{
removeLink(tN, pN, tN->getLeft());
}
else if(tN->hasOnlyRight()) //Node has only right child
{
removeLink(tN, pN, tN->getRight());
}
else // has two children
{
if(tN->getValue() > root->getValue())
{
getSmallest(tN->getRight(), tN, tN);
}
else
{
getBiggest(tN->getLeft(), tN, tN);
}
}
}