PDA

Visualizza la versione completa : Errore inserimento elemento nell'albero binario


AppleSilverBoy
27-02-2014, 17:03
Questo e' il codice ma non riesco ad uscirne fuori, il primo elemento lo inserisce dal secondo si blocca e va in loop, almeno mi sembra. Dov' l'errore ?

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


typedef struct tree_el {
int val;
struct tree_el *rtree;
struct tree_el *ltree;
}btree;


btree* insert(btree* albero, int val){
int posizione=0;

if(albero==NULL) {
albero = (btree*)malloc(sizeof(btree));
albero->rtree==NULL;
albero->ltree==NULL;
albero->val=val;
printf("\t Valore inserito !");
return albero;
}
else{
printf("\n\t Inserisci la posizione (sinistra = 1, destra = 0): ");
scanf("%d",&posizione);
if(posizione==1)
albero->ltree = insert(albero->ltree, val);
else if(posizione==0)
albero->rtree = insert(albero->rtree, val);
else{
printf("\n Errore");
}
}
}

int main(void){


btree* a=NULL;
int n;
int val;
do{
printf("\n\t Inserisci il valore (digita 0 per finire l'inserimento) : ");
scanf("%d",&n);
if(n!=0)
a = insert(a,n);
}while(n!=0);
return 1;
}

galz
27-02-2014, 17:11
Potrei sbagliarmi,ma credo ci sia anche un errore nell'inserimento del forum ;)

Devi metterlo in programmazione, con il corretto titolo

Sky
28-02-2014, 11:16
Potrei sbagliarmi,ma credo ci sia anche un errore nell'inserimento del forum ;)

Devi metterlo in programmazione, con il corretto titolo
Tu s che sei un utente modello :love:
Non come UN ALTRO che ci d dei fannulloni (e non Brunetta) :jam: :D

Loading