树-线索二叉树的遍历
1 #include <iostream> 2 using namespace std; 3 4 typedef struct TBTNode {//线索二叉树的构造函数 5 char data; 6 int ltag,rtag; 7 struct TBTNode *lchlid; 8 struct TNTNode *rchild; 9 }; 10 void InThread (TBTNode *p,TBTNode *&pre) { //通过中序遍历对二叉树线索化的递归算法 11 if(p!=NULL) { 12 InThread(p->lchlid,pre); 13 if(p->lchlid==NULL) { 14 p->lchlid=pre; 15 p->ltag=1; 16 } 17 if(pre!=NULL&&pre->rchild==NULL) { 18 pre->rchild=p; 19 pre->rtag=1; 20 } 21 pre=p; 22 InThread(p->rchild,pre); 23 } 24 25 } 26 void creatInThread(TBTNode *root) { //通过中序遍历建立中序线索二叉树 27 TBTNode *pre=NULL; 28 if(root!=NULL) { 29 InThread(root,pre); 30 pre->rchild=NULL; 31 pre->rtag=1; 32 } 33 } 34 int main() { 35 36 37 return 0; 38 }
越努力越幸运