再努力一点点.. 2022-09-02 14:39 采纳率: 88.9%
浏览 30
已结题

二叉树层序遍历不知道为什么出错

问题遇到的现象

二叉树层序遍历出错

问题相关代码

typedef char ElementType;
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
    ElementType Data;
    BinTree Left;
    BinTree Right;
};

void LevelorderTraversal( BinTree BT )
{
    if(!BT)return;
    BinTree q[1000];
    int front=0,rear=-1;
    q[++rear]=BT;
    while(front<=rear)
    {
        BinTree t=q[front++];
        printf(" %c",t->Data);
        if(t->Left) q[++rear]=t->Left;
        if(t->Right)q[++rear]=t->Right;
    }
}

  • 写回答

3条回答 默认 最新

  • RivaJ 2022-09-02 14:55
    关注

    麻烦描述得更详细些,比如具体的报错信息。
    逻辑上没看出啥问题,可能是队列q溢出(树的大小超过1000),也可能是输出格式不符合要求(第一个元素输出前的空格)。

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

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 9月2日