• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

SpecialOne

Inserir um elemento numa arvore binaria de procura

3 mensagens neste tópico

A ideia é criar uma função que inserire um inteiro numa arvore binaria de procura:

Teno o seguinte codigo:


#include<stdio.h>
#include<stdlib.h>

typedef struct nodo *ABPInt;

struct nodo {
int valor;
ABPInt esq;
ABPInt dir;
    }

// Funcao que insere elementos numa arvore:

ABPInt insereElem(ABPInt arv, int n){       // linha 14
ABPInt nova;

if(arv == NULL){
	nova = (ABPInt) malloc(sizeof(struct nodo));
	nova -> esq = NULL;
	nova -> dir = NULL;
	nova -> valor = n;
	return nova;
		}

	else {
		if(arv->valor < n)
			arv -> dir = insereElem(a->dir, n);
			else
				arv -> esq = insereElem(a->esq, n);
	return a;
	}
}

int main(){

ABPInt a = NULL;

a = insereElem(a,32);     // linha 38
a = insereElem(a,22);     // linha 39
a = insereElem(a,24);     // linha 40

return 0;
}

E esta a dar-me os seguintes erros/avisos

linha 14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘insereElem’

linha 38: warning: assignment makes pointer from integer without a cast

linha 39: warning: assignment makes pointer from integer without a cast

linha 40: warning: assignment makes pointer from integer without a cast

Se alguem puder ajudar agradeço.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que te falta um ; para fechar a struct.

Os outros erros talvez sejam derivados desse problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora