功能
寻找二叉树中序前驱
中序前驱: 中序遍历序列的前一个
如:
该二叉树的中序遍历的结果为DGBEAFC,如果找F结点的前驱,即序列中的A。
该方法在构造线索二叉树时起到关键作用!!
代码
InOrder函数实际上就是中序遍历,其包含的visit函数作用是寻找前驱:如果q和p指向了同一个结点,那么pre就是前驱;如果不同,则pre按照中序遍历向前移动,然后q按照中序遍历继续向前。
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef char ElemType;
typedef struct BiTNode{
ElemType data;
struct BiTNode *l,*r;
}BiTNode,*BiTree;
//全局变量
BiTNode