树-线索二叉树的遍历

 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 }

 

posted @ 2020-04-13 11:33  瓜瓜爱呱呱  阅读(214)  评论(0编辑  收藏  举报