////////////////////////
#include "stdio.h"
#include <stdlib.h>
#include <malloc.h>typedef struct BiTnode{
char data;
struct BiTnode *lchild,*rchild;
}BiTnode,*BiTree;bool CreateBiTree(BiTree&T)
{
char ch;
scanf(&ch);
if(!T)
{
T=(BiTnode*)malloc(sizeof(BiTnode));
T->data=ch;
T->lchild=NULL;
T->rchild=NULL;
}
else
{
if(T->data<=ch)
{CreateBiTree(T->lchild);}
else
{CreateBiTree(T->rchild);}
}
return true;
}bool InOrderTraverse(BiTree&T)
{
printf("%s",T->data);
InOrderTraverse(T->lchild);
InOrderTraverse(T->rchild); return 0;
}
int main()
{
BiTree T=NULL;
CreateBiTree(T);
InOrderTraverse(T); return 0;
}
///////////////////////////////////
#include "stdio.h"
#include <stdlib.h>
#include <malloc.h>typedef struct BiTnode{
char data;
struct BiTnode *lchild,*rchild;
}BiTnode,*BiTree;bool CreateBiTree(BiTree&T)
{
char ch;
scanf(&ch);
if(!T)
{
T=(BiTnode*)malloc(sizeof(BiTnode));
T->data=ch;
T->lchild=NULL;
T->rchild=NULL;
}
else
{
if(T->data<=ch)
{CreateBiTree(T->lchild);}
else
{CreateBiTree(T->rchild);}
}
return true;
}bool InOrderTraverse(BiTree&T)
{
printf("%s",T->data);
InOrderTraverse(T->lchild);
InOrderTraverse(T->rchild); return 0;
}
int main()
{
BiTree T=NULL;
CreateBiTree(T);
InOrderTraverse(T); return 0;
}
///////////////////////////////////
bool InOrderTraverse(BiTree&T) -> bool InOrderTraverse(BiTree*T)scanf(&ch); -> scanf("%c", &ch);
T就是一个BiTnode* 类型。
还是不行。
修改后的代码:(注只能读入字符,输出字符,且不会创建子树)#include "stdio.h"
#include <stdlib.h>
#include <malloc.h>typedef struct BiTnode{
char data;
struct BiTnode *lchild,*rchild;
}BiTnode,*BiTree;bool CreateBiTree(BiTree&T)
{
char ch;
scanf("%c",&ch);
if(!T)
{
T=(BiTnode*)malloc(sizeof(BiTnode));
T->data=ch;
T->lchild=NULL;
T->rchild=NULL;
}
else
{
if(T->data<=ch)
{CreateBiTree(T->lchild);}
else
{CreateBiTree(T->rchild);}
}
return true;
}bool InOrderTraverse(BiTree&T)
{
printf("%c",T->data);
printf("\n");
if(T->lchild!=NULL)
InOrderTraverse(T->lchild);
if(T->rchild!=NULL)
InOrderTraverse(T->rchild);
return 0;
}
int main()
{
BiTree T=NULL;
CreateBiTree(T);
InOrderTraverse(T); return 0;
}
#include "stdio.h"
#include <stdlib.h>
#include <malloc.h>typedef struct BiTnode{
char data;
struct BiTnode *lchild,*rchild;
}BiTnode,*BiTree;bool CreateBiTree(BiTree&T)
{
char ch;
scanf("%c",&ch);
if(!T)
{
T=(BiTnode*)malloc(sizeof(BiTnode));
T->data=ch;
T->lchild=NULL;
T->rchild=NULL;
}
if(ch=='=')return false;
{
if(T->data<=ch)
{CreateBiTree(T->lchild);}
else
{CreateBiTree(T->rchild);}
}
return true;
}bool InOrderTraverse(BiTree&T)
{
printf("%c",T->data);
if(T->lchild!=NULL)
InOrderTraverse(T->lchild);
if(T->rchild!=NULL)
InOrderTraverse(T->rchild);
return 0;
}
int main()
{
BiTree T=NULL;
CreateBiTree(T);
InOrderTraverse(T); return 0;
}