-tthappy 2023-04-02 13:36 采纳率: 55.6%
浏览 23
已结题

求解答二叉相等判断为何没结果

题目是:判断两颗二叉树是否相等。
以下p1是我的运行结果,p2是我要判断的两颗二叉树。想不通为何没有运行结果呢?请指教谢谢不胜感激

img

img

#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROW 0
#define OVERFLOW -1
int flag=1;    //flag判断两棵树是否相等 
typedef struct BiTNode
{char data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void xinsert(BiTree &T) //先序 输入 
{char ch;
scanf("%c",&ch);
if (ch=='#')     //#表示空 
T=NULL;
else 
{T=new BiTNode;
T->data=ch;
xinsert(T->lchild);
xinsert(T->rchild);
}
}
 int Judge(BiTree &T1,BiTree &T2)  //第二题 
  {
  if(T1&&T2)   //T1,T2不为空。 
  {if(T1->data!=T2->data||flag==0)  //若字符不相等,flag=0  
    {flag=0;             //只要有一个判断不相等的情况,后面无论怎么判断,flag都为0 
    return 0;
    }
    else 
    {
    Judge(T1->lchild,T2->lchild);  //若字符相等,则递归判断它的左右子树是否相等。 
    Judge (T1->rchild,T2->rchild);
    return OK;
    }
  }
  }
int main()
  {BiTree T;
  BiTree T2;
  printf("请先序输入T二叉树元素,并以'#'表示该节点为空\n");//先序输入第一棵二叉树 
   xinsert(T);
printf("\n请先序输入第T2二叉树元素,并以'#'表示该节点为空\n");//先序输入第二棵二叉树 
   xinsert(T2);
   int x;
   Judge(T,T2);     //调用函数 
   if (flag==0) x=0;//若flag==0,则x=0 
   else x=1; //否则x=1 
   printf("\n第二题:判断T与T2是否相等?(0为否,1为是)\n%d\n",x);//x为0就明不相等,x为1说明相等 
   return 0; 
  }


  • 写回答

4条回答 默认 最新

  • qzjhjxj 2023-04-02 15:10
    关注

    先序输入函数里,输入语句修改下:

    void xinsert(BiTree &T) //先序 输入
    {
        char ch;
        scanf(" %c",&ch);  //scanf("%c",&ch); 修改
        if (ch == '#')     //#表示空
            T=NULL;
        else
        {
            T=new BiTNode;
            T->data=ch;
            xinsert(T->lchild);
            xinsert(T->rchild);
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起