m0_67830870 2022-12-05 14:16 采纳率: 62.5%
浏览 8

为啥这里显示seq无效数据啊

bool CreatBTree(BTNode*& T, char str[], int n)//创建二叉树
{
BTNode* seq[MAXSIZE];//用顺序栈seq来保存双亲结点
seq[n] = 0;
BTNode* p=NULL;
int top = 0, flag=0 ;
for (int j = 0; j < n; j++)//遍历str
{
char c = str[j];
if (c == '(') //进栈
{
top++;
seq[top]=p ;
flag = 1; //开始处理左孩子
}

    else if (c == ')')//出栈
    {
        top--;
    }

    else if (c == ',')//开始处理右孩子
    {
        flag = 2;
    }

    else  //c为单个字符,创建一个节点p保存该结点值,根据flag值进行操作
    {
        p = (BTNode*)malloc(sizeof(BTNode));
        if (p == NULL)
            return false;
            p->data = c;
            p->lchild = p->rchild = NULL;
            if (T == NULL)
                T = p;
            else if (flag == 1)
                seq[top]->lchild = p;
            else
                seq[top]->rchild = p;
        }
    
}

}

img

img

  • 写回答

1条回答 默认 最新

  • 於黾 2022-12-05 14:20
    关注

    seq[n] = 0;这是要干什么
    seq是个指针数组
    seq[n]是个指针
    你把指针的值赋值成0??
    seq[top]=p ;这也不对呀,p是NULL,你给top赋值个空指针是要干什么

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月5日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了