关于线索二叉树的问题(很急)~~~~~~
发布网友
发布时间:2023-09-13 17:47
我来回答
共1个回答
热心网友
时间:2024-12-12 03:17
template <class T>
ThreadNode<T> * ThreadTree <T>::
Next (ThreadNode<T> * current) {
//函数返回在线索化二叉树中结点*current在中序下的后继结点
ThreadNode<T> *p = current->rightChild;
if (current->rtag == 0) return First (p);
//rtag == 0, 表示有右子女
else return p;
//rtag == 1, 直接返回后继线索
}
template <class T>
ThreadNode<T> * ThreadTree <T> ::
First (ThreadNode<T> * current) {
//函数返回以*current为根的线索化二叉树中的中序序列下的第一个结点
ThreadNode<T> * p = current;
while (p->ltag == 0) p = p->leftChild;
return p;
};