舞书鎏 2020-03-25 14:28 采纳率: 0%
浏览 194

C建立二叉搜索树出现段错误

题目链接:https://pintia.cn/problem-sets/1211841066264109056/problems/1236509430527590400

判断是不是同一棵二叉搜索树
写的代码如下:(在自己编译器上可以通过,但是在OJ上显示段错误,希望大佬指点一下)

#include<stdio.h>
#include<malloc.h>
typedef struct BINODE{
    int value;
    struct BINODE *lchild,*rchild;
}BiTNode,*BiTree;
int flag=1;
//建立二叉搜索树
BiTNode *BuildBiTree(BiTree &T,int n,int a[]){
    int i,j;
    T=(BiTNode *)malloc(sizeof(BiTNode));
    T->value=a[0];  
    BiTree p=T,q,pre;
    p->lchild=NULL;
    p->rchild=NULL;
    for(i=1,j=1;j<n;i++){
        q=(BiTNode *)malloc(sizeof(BiTNode));
        q->value=a[j];
        pre=p;
        if(a[j]<=p->value){
            p=p->lchild;
            if(p==NULL){
                pre->lchild=q;
                j++; 
                q->lchild=NULL;
                q->rchild=NULL;
                p=T;
            }
        }
        else{
            p=p->rchild;
            if(p==NULL){
                pre->rchild=q;
                j++;
                q->lchild=NULL;
                q->rchild=NULL;
                p=T;
            }
        }
    }
}
//两棵树同时遍历进行判断
void InOrder(BiTree T,BiTree TT){
    if(T && TT){
        InOrder(T->lchild,TT->lchild);
        if(T->value!=TT->value) flag=0;
        InOrder(T->rchild,TT->rchild);
    }
}
int main(){ 
    int n=-1,k,i;
    int a[15];
    int b[15];  
    while(n!=0){    
        BiTree T=NULL,TT=NULL;  
        scanf("%d",&n);
        if(n!=0){
            scanf("%d",&k);
            for(i=0;i<n;i++){
                scanf("%d",&a[i]);      
            }
            BuildBiTree(T,n,a);
            while(k--){
                flag=1;
                for(i=0;i<n;i++){
                    scanf("%d",&b[i]); 
                }   
                BuildBiTree(TT,n,b);
                InOrder(T,TT);
                if(flag==1) printf("Yes\n");
                else  printf("No\n");               
            }
        }
    }
    return 0;
}

自己摸索很久了,发现不了问题,如果能解决,感激不尽!!

  • 写回答

1条回答 默认 最新

  • weixin_43405544 2020-03-25 19:34
    关注

    图片说明编译结果

    评论

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程