以下是我编的一个建立二叉树的程序:
我是一个C语言初学者,以下是我编的二叉树建立程序:
#include"stdio.h"
#include"malloc.h"
#define MAXSIZE 100
#define MAXNODE 15
typedef struct BiTNode{
int data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
int Initiate(BiTree bt);
BiTree Creat(BiTree s[]);
void main()
{
int i;
BiTree array[MAXNODE],p;
p=Creat(array);
}
int Initiate(BiTree bt)
{
BiTree q;
if((bt=(BiTNode *)malloc(sizeof(BiTNode)))==NULL)
return 0;
bt->lchild=NULL;
bt->rchild=NULL;
return 1;
}
BiTree Creat(BiTree s[])
{
int i,n=MAXNODE;
for(i=1;i<n;i++)
Initiate(s[i]);
for(i=1;i<n/2;i++)
{
s[i]->lchild=s[2*i];
if((2*i)<n)
s[i]->rchild=s[2*i+1];
else s[i]->rchild=NULL;
}
return s[1];
}
编译,连接时都没错,但是一执行就要发送错误报告。我编的程序老是出现这种问题,急煞俺也!请各位高手,高手中的高手们指正。