将节点插入已初始化的二叉树时出现分段错误问题

时间:2019-05-21 23:22:14

标签: c segmentation-fault binary-search-tree

所以我必须要做一个接收数字和字母的二进制搜索树程序,但是我不断在插入函数上收到分段错误警告

看起来它与“ arvore”(树)节点有关,但是我已经通过使函数arvore(tree)= NULL对其进行了初始化。所以我真的不知道如何纠正它。我在做什么错了?

这就是我如何调用插入函数(每个字母一个字母)。

 if(aux[0]>0){
    aux3='A';
    inserearvore(&arvore,aux[0],aux3);
    }

这是插入函数本身

tipono *criano(int aux,char aux3){
 tipono *no;
 no = malloc(sizeof(tipono));
 no->qtd = aux;
 no->info= aux3;
 no->dir = NULL;
 no->esq = NULL;
 return no;
}
void inserearvore(tipono *arvore,int aux,char aux3){
    if(arvore==NULL)
        arvore=criano(aux,aux3);
    else if(aux<arvore->qtd){
        if(arvore->esq!=NULL)
            inserearvore(arvore->esq,aux,aux3);
        else arvore->esq = criano(aux,aux3);
    }
    else{
        if(arvore->dir!=NULL)
            inserearvore(arvore->dir,aux,aux3);
        else arvore->dir = criano(aux,aux3);
 }
}

很抱歉这个愚蠢而简单的问题,但我真的很感谢您的帮助。

0 个答案:

没有答案