什么是线索二叉树?
若结点无左子结点则令ltag=1,同时这个lchild指针指向遍历顺序的前驱结点;若结点无右子结点,令rtag=1,同时此rchild指针指向遍历顺序的后继结点。
//
线索二叉树的存储结构
typedef struct ThreadNode{
int data;
struct ThreadNode *lchild,*rchild;
int ltag,rtag;
}ThreadNode,*ThreadTree;
//
对二叉树进行数据插入
这里对ltag和rtag进行初始化为0,数据小于结点,就插到左子树上,大于结点插到右子树上
void insertThTree(ThreadTree &T,int val){
ThreadNode *s;
if(T!=NULL){
if(val<T->data){
insertThTree(T->lchild,val);
}else if(val>T->data){
insertThTree(T->rchild,val)