```c
#include<stdio.h>
ThreadNode *pre = NULL;
typedef struct ThreadNode
{
int data;
struct ThreadNode *lchild,*rchild;
int ltag,rtag;
}ThreadNode,*ThreadTree;
void InTread(ThreadTree T)
{
if(T!=NULL){
InTread(T->lchild);
visit(T);
InTread(T->rchild);
}
}
void visit(ThreadNode *q)
{
if(q->lchild == NULL)
{
q->lchild = pre;
q->ltag = 1;
}
if(pre!=NULL&&pre->rchild==NULL)
{
pre->rchild=q;
pre->rtag=1;
}
pre = q;
}
void CreatInThread(ThreadTree T)
{
pre=NULL;
InTread(T);
if(pre->rchild==NULL)
pre->rtag=1;
}