『求助』C语言实现二叉树基本操作
【实验内容与要求】问题描述:采用二叉链表作为存储结构,完成二叉树的建立和遍历操作。
基本要求:
(1)基于先序遍历的构造算法。输入是二叉树的先序序列,但必须在其中加入虚结点以示空指针的位置。假设虚结点输入时用空格字符表示。
(2)利用中序顺序遍历所建的二叉树,将遍历结果打印输出。
我写的程序
#include<stdio.h>
#define NULL 0
struct BiTree
{char data;
struct BiTree *ld,*rd;};
CreateBiTree(BiTree *T)
{
char ch;
scanf(&ch);
if(ch==' ') t=NULL;
else
{
if(!(T=(BiTree*)malloc(sizeof(BiTree)))) exit()
T.data=ch;
CreatBiTree(T.ld);
CreatBiTree(T.rd);
}
return OK;
}
InOrderprint(BiTree T)
{
BiTree Stack[255];
int top=0;
Stack[top++]=T;
if(Stack[0].data==' ')
printf("The BiTree is NULL!");
else
while(top>=0)
{
for(;T.ld.data!=' ';)
{
Stack[top++]=T.ld;
T=T.ld;
}
top--;
printf("%c",&T.data);
if(T.rd.data==' ') top--;
else{T=t.rd; top--};;
}
}
main()
{
BiTree *T;
printf("Please input the data by PreOrder:");
CreateBiTree(T);
printf("\nThe BiTree in InOrder is:") ;
InOrderprint(*T)
}
编译时提示
CreateBiTree(BiTree *T)
这行声明有错
不解
请各位指教
=。=!