sinat_41111816 2017-11-25 21:59 采纳率: 0%
浏览 1003
已采纳

大家好本人初学者,关于二叉树的有些问题总是出错,帮忙修改下 谢谢

#define STACK_INIT_SIZE 10
#define INCREMENT_SIZE 10
#include
#include
#include
#include
#include

#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR -1
#define OVERFLOW -2
typedef int status;
typedef char telemtype;

typedef struct bitnode
{
telemtype data;
struct bitnode *lchild, *rchild;
} bitnode ,*bitree;

status createbitree(bitree *t)
{
char ch;
scanf("%c",&ch);
if(ch='#')t=NULL;
else
{
if(!(t=(bitree *)malloc(sizeof(bitree))))exit(OVERFLOW);
(*t)->data=ch;
creatbitree((*t)->lchild);
creatbitree((*t)->rchild);
}
return OK;
}

status printelement(telemtype e)
{
printf("%c",e);
return OK;
}

status preordertraverse(bitree t,status(* visit)(telemtype e))
{
if (t)
{
if(visit(t->data))
if(preordertraverse(t->lchild,visit))
if(preordertraverse(t->rchild,visit)) return OK;
return ERROR;

    }
else return OK;

}

status zhongxu(bitree t,status(* visit)(telemtype e))
{
if (t)
{
if(zhongxu(t->lchild,visit))
if(visit(t->data))
if(zhongxu(t->rchild,visit)) return OK;
return ERROR;

    }
else return OK;

}
int main(int argc, char *argv[])
{
int bitnode;
bitree t;
t=NULL;
createbitree(&t);
printf("\n");
preordertraverse(&t,printelement);
zhongxu(&t,printelement);
return 0;
}

错误是
E:\数据结构\main.c In function 'main':
77 19 E:\数据结构\main.c [Warning] passing argument 1 of 'preordertraverse' from incompatible pointer type
45 8 E:\数据结构\main.c [Note] expected 'bitree' but argument is of type 'struct bitnode **'
78 10 E:\数据结构\main.c [Warning] passing argument 1 of 'zhongxu' from incompatible pointer type
58 8 E:\数据结构\main.c [Note] expected 'bitree' but argument is of type 'struct bitnode **'

能帮忙修改下让它运行正常吗、?
不知道为什么被禁言了 能否私信我 谢谢 真的很急 。。

展开全部

  • 写回答

2条回答 默认 最新

  • a81836620 2017-11-26 05:31
    关注

    #include
    #include
    #define STACK_INIT_SIZE 10
    #define INCREMENT_SIZE 10
    #define TRUE 1
    #define FALSE 0
    #define OK 1
    #define ERROR -1
    #define OVERFLOW -2
    typedef int status;
    typedef char telemtype;
    typedef struct bitnode
    {
    telemtype data;
    struct bitnode *lchild, *rchild;
    }bitnode,*bitree;
    status creatbitree(bitree *t)
    {
    char ch;
    scanf("%c",&ch);
    getchar(); //如果你的输入是回车则需要一个etchar吃掉回车
    if(ch=='#') //这的判断是双等号
    *t=NULL;
    else{

        if(!(*t=(bitree)malloc(sizeof(bitnode))))
            exit(OVERFLOW);
        (*t)->data=ch;
        creatbitree(&(*t)->lchild);
        creatbitree(&(*t)->rchild);
    }
    return OK;
    

    }
    status printelement(telemtype e)
    {
    printf("%c",e);
    return OK;
    }
    status preordertraverse(bitree t,status( visit)(telemtype e))
    {
    if(t){
    if(visit(t->data))
    if(preordertraverse(t->lchild,visit))
    if(preordertraverse(t->rchild,visit))
    return OK;
    return ERROR;
    }else
    return OK;
    }
    status zhongxu(bitree t,status(
    visit)(telemtype e))
    {
    if (t){
    if(zhongxu(t->lchild,visit))
    if(visit(t->data))
    if(zhongxu(t->rchild,visit))
    return OK;
    return ERROR;
    }else
    return OK;
    }
    int main(int argc, char argv[])
    {
    int bitnode;
    bitree t;
    t=NULL;
    creatbitree(&t);
    printf("\n");
    preordertraverse(t,printelement);
    printf("\n");
    zhongxu(t,printelement);
    return 0;
    }

    刷分刷分

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 为什么树莓派5b显示禁止连接
  • ¥20 流量太费!寻找便宜的app音视频SDK或平替方案。
  • ¥15 kubeasz部署遇到问题
  • ¥15 GUIDE to App Designer Migration Tool for MATLAB
  • ¥50 第三代非支配排序遗传算法(NSGA-Ⅲ)和多目标粒子群优化算法(MOPSO)的实现
  • ¥20 plant simulation与python com接口实时数据交互
  • ¥15 有关汽车的MC9S12XS128单片机实验
  • ¥15 求c语言动态链表相关课程有偿,或能将这块知识点讲明白
  • ¥15 FLKT界面刷新异常
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部