c++问题 error C2084: function 'void __cdecl inorder(struct BiTNode *)' already has a body
#include<stdio.h>#include<stdlib.h>typedefintEtype;typedefstructBiTNode/*树结点结构*/{Etyp...
# include <stdio.h>
# include <stdlib.h>
typedef int Etype;
typedef struct BiTNode /* 树结点结构 */
{ Etype data;
struct BiTNode *lch,*rch;
}BiTNode;
/* 函数原形声明 */
BiTNode *creat_bt1();
BiTNode *creat_bt2();
void inorder(BiTNode *p);
void numb(BiTNode *p);
BiTNode *t; int n,n0,n1,n2;
void main()
。。。。 省略
/* 模仿先序递归遍历方法,建立二叉树 */
BiTNode *creat_bt2()
{ BiTNode *t;int e;
printf("\n data="); scanf("%d",&e);
if(e==0) t=NULL; /* 对于0值,不分配新结点 */
else { t=(BiTNode *)malloc(sizeof(BiTNode));
t->data=e;
t->lch=creat_bt2(); /* 左孩子获得新指针值 */
t->rch=creat_bt2(); /* 右孩子获得新指针值 */
}
return(t);
} /* creat_bt2 */
/* 中序递归遍历二叉树 */
void inorder(BiTNode *p)
{ if (p) { inorder(p->lch);
printf("%3d",p->data);
inorder(p->rch);
}
} /* inorder */
/* 利用中序递归遍历二叉树的方法,计算树中结点个数 */
/* 读者可以试着运用先序或后序递归遍历二叉树方法重新编写这一段函数 */
void inorder(BiTNode *p)
{ if (p) { inorder(p->lch);
{ printf("%3d",p->data);
n++;
if(p->lch==NULL && p->lch==NULL) n0++;
if((p->lch==NULL && p->lch!=NULL)||
(p->lch!=NULL && p->lch==NULL)) n1++;
if(p->lch!=NULL && p->lch!=NULL) n2++;
} /* 把访问的功能扩大了 */
inorder(p->rch);
}}
inorder函数应该怎么改? 展开
# include <stdlib.h>
typedef int Etype;
typedef struct BiTNode /* 树结点结构 */
{ Etype data;
struct BiTNode *lch,*rch;
}BiTNode;
/* 函数原形声明 */
BiTNode *creat_bt1();
BiTNode *creat_bt2();
void inorder(BiTNode *p);
void numb(BiTNode *p);
BiTNode *t; int n,n0,n1,n2;
void main()
。。。。 省略
/* 模仿先序递归遍历方法,建立二叉树 */
BiTNode *creat_bt2()
{ BiTNode *t;int e;
printf("\n data="); scanf("%d",&e);
if(e==0) t=NULL; /* 对于0值,不分配新结点 */
else { t=(BiTNode *)malloc(sizeof(BiTNode));
t->data=e;
t->lch=creat_bt2(); /* 左孩子获得新指针值 */
t->rch=creat_bt2(); /* 右孩子获得新指针值 */
}
return(t);
} /* creat_bt2 */
/* 中序递归遍历二叉树 */
void inorder(BiTNode *p)
{ if (p) { inorder(p->lch);
printf("%3d",p->data);
inorder(p->rch);
}
} /* inorder */
/* 利用中序递归遍历二叉树的方法,计算树中结点个数 */
/* 读者可以试着运用先序或后序递归遍历二叉树方法重新编写这一段函数 */
void inorder(BiTNode *p)
{ if (p) { inorder(p->lch);
{ printf("%3d",p->data);
n++;
if(p->lch==NULL && p->lch==NULL) n0++;
if((p->lch==NULL && p->lch!=NULL)||
(p->lch!=NULL && p->lch==NULL)) n1++;
if(p->lch!=NULL && p->lch!=NULL) n2++;
} /* 把访问的功能扩大了 */
inorder(p->rch);
}}
inorder函数应该怎么改? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询