所以我必须要做一个接收数字和字母的二进制搜索树程序,但是我不断在插入函数上收到分段错误警告
看起来它与“ 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);
}
}
很抱歉这个愚蠢而简单的问题,但我真的很感谢您的帮助。